Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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 侦听UITabBarController中视图控制器的编程更改_Objective C_Ios - Fatal编程技术网

Objective c 侦听UITabBarController中视图控制器的编程更改

Objective c 侦听UITabBarController中视图控制器的编程更改,objective-c,ios,Objective C,Ios,我需要一个选项卡式应用程序从视图控制器2切换到视图控制器1(主视图控制器),然后立即调用视图控制器1上的方法,而无需用户进行任何输入。使用viewDidLoad不起作用,因为(据我所知)主视图控制器始终保持加载状态;使其可见不会再次加载。我一直在尝试使用-(void)tabBarController:didSelectViewController:,但我认为它也不会被调用,因为它只适用于用户启动的选择,而不是编程选择 那么我能做什么呢?您可以使用方法-(void)viewwillbeen来执行此

我需要一个选项卡式应用程序从视图控制器2切换到视图控制器1(主视图控制器),然后立即调用视图控制器1上的方法,而无需用户进行任何输入。使用
viewDidLoad
不起作用,因为(据我所知)主视图控制器始终保持加载状态;使其可见不会再次加载。我一直在尝试使用
-(void)tabBarController:didSelectViewController:
,但我认为它也不会被调用,因为它只适用于用户启动的选择,而不是编程选择


那么我能做什么呢?

您可以使用方法
-(void)viewwillbeen
来执行此操作。一旦视图已经加载,当它出现时,您可以做任何您想做的事情!这是:

- (void) viewWillAppear:(BOOL)animated {
   [super viewWillAppear:animated];
   // You code here to update the view.
}

嗯,我刚刚在视图控制器1和视图控制器2中都尝试过,但是我放在其中的方法没有被调用。我肯定我是误解了——你介意更明确地说明我是如何做到这一点的吗?很抱歉没有收到。我在上面编辑了我的答案!检查并测试它!您还可以包括类似于
NSLog(“当viewcontroller 1/2出现时调用的方法”)
的内容,以检查是否正在调用此方法。