Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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 将控制权从第三视图控制器转移到第一视图控制器并调用方法_Ios_Objective C_Delegates_Protocols - Fatal编程技术网

Ios 将控制权从第三视图控制器转移到第一视图控制器并调用方法

Ios 将控制权从第三视图控制器转移到第一视图控制器并调用方法,ios,objective-c,delegates,protocols,Ios,Objective C,Delegates,Protocols,基本上我有一个应用程序,它有3个屏幕。第一个屏幕是一个普通的UIViewController,第二个视图控制器显示一个表视图控制器,第三个视图控制器是一个普通的UIViewController 现在用户从第1-->第2-->第3次移动不是通过导航,而是通过当前模式视图控制器 例如。 //通过创建第二视图控制器的对象从第一视图控制器移动到第二视图控制器 //SecondViewController *secondViewController=[[SecondViewController alloc

基本上我有一个应用程序,它有3个屏幕。第一个屏幕是一个普通的UIViewController,第二个视图控制器显示一个表视图控制器,第三个视图控制器是一个普通的UIViewController

现在用户从第1-->第2-->第3次移动不是通过导航,而是通过当前模式视图控制器

例如。 //通过创建第二视图控制器的对象从第一视图控制器移动到第二视图控制器

//SecondViewController *secondViewController=[[SecondViewController alloc]init......]
//[self presentViewController:secondViewController animated:NO completion:nil];
//ThirdViewController *thirdViewController=[[ThirdViewController alloc]init......]
//[self presentViewController:thirdViewController animated:NO completion:nil];
//通过创建第三视图控制器的对象从第二视图控制器移动到第三视图控制器

//SecondViewController *secondViewController=[[SecondViewController alloc]init......]
//[self presentViewController:secondViewController animated:NO completion:nil];
//ThirdViewController *thirdViewController=[[ThirdViewController alloc]init......]
//[self presentViewController:thirdViewController animated:NO completion:nil];
但我现在面临的问题是,如果第三视图控制器中发生了某个事件,我想调用第一视图控制器中定义的委托方法。但我不确定如何做到这一点?

使用NSNotifacation并在通知对象中传递您想要传递的任何数据


使用@protocol

您也可以为此使用自定义委托
这里有一个例子,或者

您也可以将块与协议和NSNotification一起使用。您可以给出一个w.r.t协议的例子,如何做到这一点?