修改UIViewController中viewDidAppear的行为

时间:2015-09-25 21:35:56

标签: ios objective-c uiviewcontroller categories

我有申请(Apple样本的UICatalog)。我正在使用一个名为Lookback的框架,用于屏幕录制。

我的界面定义如下:

@interface AAPLSteppperViewController : UITableViewController

因此它直接是UITableViewController的子类。它实现了如下方法:

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

我想研究如何调用lookbackIdentifier并看到类似的内容:

Call stack

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

在调查框架文档时,他们建议始终像

那样实现
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    ...
}

至于我,它看起来像UIViewController里面的变化 - 但是如何实现这样的呢?

我猜它会包含一些玩UIViewController但是 - 怎么样?我无法想象如何在没有子类化的情况下覆盖它的单个方法。

我只能访问我的AAPLSteppperViewController。

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

1 个答案:

答案 0 :(得分:-1)

正如@dan指出的那样 - 调高是正确的答案。我尝试了那里的指示:http://nshipster.com/method-swizzling/它给了我理想的行为。

感谢您的帮助:)