Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
iOS:调用popViewControllerAnimated后的回调函数?_Ios_Uinavigationcontroller_Popviewcontrolleranimated - Fatal编程技术网

iOS:调用popViewControllerAnimated后的回调函数?

iOS:调用popViewControllerAnimated后的回调函数?,ios,uinavigationcontroller,popviewcontrolleranimated,Ios,Uinavigationcontroller,Popviewcontrolleranimated,我有一个navigationcontroller,故事板上有两个视图 在第一个视图中,我使用它导航到下一个(第二个)视图: segue风格是push 第二个视图有两个顶部栏按钮,一个正常导航回的后退按钮和一个自定义右栏按钮,它们在后台执行某些操作,然后使用以下代码导航回: [self.navigationController popViewControllerAnimated:YES]; 有时候,当我调用这段代码时,我想在第一个视图中调用一个函数(比如回调函数),这会刷新第一个视图中的一些内容

我有一个navigationcontroller,故事板上有两个视图

在第一个视图中,我使用它导航到下一个(第二个)视图:

segue风格是push

第二个视图有两个顶部栏按钮,一个正常导航回的后退按钮和一个自定义右栏按钮,它们在后台执行某些操作,然后使用以下代码导航回:

[self.navigationController popViewControllerAnimated:YES];
有时候,当我调用这段代码时,我想在第一个视图中调用一个函数(比如回调函数),这会刷新第一个视图中的一些内容

我该怎么做

我尝试在第一个视图中使用视图,但我不想每次都刷新内容,只是有时候

谢谢

已解决。

我找到了解决问题的方法: 使用prepareForSegue函数时,可以设置[segue destinationViewController]对象的任意属性

因此,我为发送方(First)控制器设置了一个委托属性,在第二个控制器中,我可以调用[delegate anyFunction]


这是有效的,也许这是一个很好的解决方案…:-授权应该能解决你的问题。将第一个视图控制器设置为第二个视图控制器的代理,并在关闭视图控制器时向其发送一条消息。

没问题,我尝试了,但没有成功。我使用这个:在我的项目中,MainClass是第一个视图,Subclass是第二个视图。但我可能无法完美地观察这个例子……:)因此,使用导航控制器,我从第一个viewcontroller导航到第二个,然后再从第二个viewcontroller导航回第一个,但是,当我在第二个viewcontroller中调用导航回功能时,我有一个IF语句,关于“是否需要在导航回位完成后在第一个视图中调用函数?”,即使该语句为真,我也要调用第一个控制器中的函数。但该语句位于第二个视图控制器中。对不起,我的英语不好,我希望这是可以理解的。
[self.navigationController popViewControllerAnimated:YES];