修改UIViewController中viewDidAppear的行为

我有应用程序(来自苹果示例的UICatalog)。 我使用了一个名为Lookback的框架,用于屏幕录制。

我有界面定义如下:

@interface AAPLSteppperViewController : UITableViewController

所以它直接成为UITableViewController的一个子类。 它已经实施了以下方法:

+ (NSString*)lookbackIdentifier {
    return @"Profile Editor";
}

我想调查lookbackIdentifier如何被调用,并看到类似的东西:

调用堆栈

问题是:如何引入这样的行为,因为UITableViewController是一个系统类,我无法在堆栈中看到编号为1和2的调用源?

当我调查框架文档时,他们建议始终如此实施

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    ...
}

至于我看起来像UIViewController里面的变化 - 但如何实现这样的东西?

我想这将包括一些玩UIViewController,但 - 如何? 我无法想象如何在不进行子类化的情况下重写它的单个方法。

我只能访问我的AAPLSteppperViewController。

如果有人能给我一个正确的方向,我将不胜感激


正如@丹指出的 - 搅拌是正确的答案。 我尝试在那里的指示:http://nshipster.com/method-swizzling/,它给了我想要的行为。

感谢帮助 :)

链接地址: http://www.djcxy.com/p/58361.html

上一篇: Modify behaviour of viewDidAppear in UIViewController

下一篇: Stop autorotation of UIViewController at creation time