Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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 在Xcode中展开时谁调用私有方法?_Ios_Objective C_Xcode_Storyboard - Fatal编程技术网

Ios 在Xcode中展开时谁调用私有方法?

Ios 在Xcode中展开时谁调用私有方法?,ios,objective-c,xcode,storyboard,Ios,Objective C,Xcode,Storyboard,为了实现展开序列,我们需要在情节提要和 在目标视图控制器中创建private方法 我不明白:如果方法是私有的,它是如何工作的?因为在my view controller的实现文件中,这不会调用。执行时,应用程序首先解析.storyboard文件,了解需要实例化哪些类以及其他重要信息,如segue连接。然后,它创建类实例(并在以后管理它们)。然后,当请求时(例如,按下按钮后),它会尝试在控制器实例中查找方法unwindToList:。如果有,它将执行。否则,将引发异常 然而,这种方法并不是完全隐藏

为了实现展开序列,我们需要在情节提要和 在目标视图控制器中创建private方法


我不明白:如果方法是私有的,它是如何工作的?因为在my view controller的实现文件中,这不会调用。

执行时,应用程序首先解析.storyboard文件,了解需要实例化哪些类以及其他重要信息,如segue连接。然后,它创建类实例(并在以后管理它们)。然后,当请求时(例如,按下按钮后),它会尝试在控制器实例中查找方法
unwindToList:
。如果有,它将执行。否则,将引发异常

然而,这种方法并不是完全隐藏的。基本上,Objective-C中没有私有的方法;至少不像其他一些语言那样。每个方法都可以由运行时访问。如果您对Objective-C的工作原理感兴趣,请查看以下页面,例如:


欢迎来到SO!你能分享你的代码来说明你的问题吗?现在还不完全清楚你在问什么。-(IBAction)unwindToList:(UIStoryboardSegue*)segue{}嗨,这是“今天就开始开发iOS应用程序”中的内容。谢谢你的回答!在什么情况下,我将只在“.m”文件中使用方法声明?实际上,这将是模仿“私有”行为的技巧之一。这方面没有明确的指南。通常,您会将公共API放在.h文件中,而内部则保存在其中。