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

时间:2013-11-04 15:27:33

标签: ios objective-c xcode storyboard

为了实现展开segue ,我们需要在故事板中进行控制拖动 在目标视图控制器中创建私有方法。

我不明白:如果方法是私有的,它是如何工作的?因为在我的视图控制器的实现文件中这不是调用。

1 个答案:

答案 0 :(得分:0)

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

但是,该方法并未完全隐藏。基本上,Objective-C中没有私有方法;至少与其他语言不同。运行时可以访问每个方法。如果您对Objective-C如何完全感兴趣,请查看这些页面,例如:

How does objective-c handle method resolution at run-time?

http://cocoasamurai.blogspot.ru/2010/01/understanding-objective-c-runtime.html