Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 是否存在满足以下属性的UIViewController事件:_Objective C_Uiviewcontroller - Fatal编程技术网

Objective c 是否存在满足以下属性的UIViewController事件:

Objective c 是否存在满足以下属性的UIViewController事件:,objective-c,uiviewcontroller,Objective C,Uiviewcontroller,它只调用一次,就像viewDidLoad一样 它在视图出现之前调用。因此在UIViewController navigationController不再为空后调用它 基本上,我想通过编程为UIViewController设置东西。但是,我希望navigationController属性已经存在。另外,我希望整个事件只调用一次。我对iOS中的视图生命周期不太熟悉,但是如果碰巧没有一个方法适合您的描述,并且您确实需要这样一个事件,那么您可以将回调与属性结合使用,即 - (void)viewWillA

它只调用一次,就像viewDidLoad一样

它在视图出现之前调用。因此在UIViewController navigationController不再为空后调用它


基本上,我想通过编程为UIViewController设置东西。但是,我希望navigationController属性已经存在。另外,我希望整个事件只调用一次。

我对iOS中的视图生命周期不太熟悉,但是如果碰巧没有一个方法适合您的描述,并且您确实需要这样一个事件,那么您可以将回调与属性结合使用,即

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

- (void)specialMethod {
// do stuff
self.specialMethodHasBeenCalled = YES;
}
可能需要为线程安全做更多的工作,但这只是一个黑客解决方案