是否有满足此属性的UIViewController事件:

时间:2013-11-20 07:04:30

标签: objective-c uiviewcontroller

只调用一次,例如viewDidLoad

在viewWillAppear之前调用它。因此,在UIViewController navigationController不再为空之后调用它。

基本上我想为UIViewController以编程方式设置东西。但是,我希望navigationController属性已经存在。此外,我希望整个事情只被召唤一次。

1 个答案:

答案 0 :(得分:1)

我对iOS中的视图生命周期并不十分熟悉,但如果有可能没有适合您描述的方法而且真的需要有这样的事件,那么你可以随时使用与财产相结合的回叫,即

- (void)viewWillAppear:(BOOL)animated {
if (!self.specialMethodHasBeenCalled) { [self doSpecialMethod]; }
 // other viewWillAppear stuff to do every time
}

- (void)specialMethod {
// do stuff
self.specialMethodHasBeenCalled = YES;
}

可能需要为线程安全做更多的事情,但这只是一个hacky解决方案。