mat*_*att 10 ios uikit-state-preservation
文档viewControllerWithRestorationIdentifierPath:coder:说:
您对此方法的实现应创建(或查找)相应的视图控制器对象并将其返回...并不总是需要在此方法的实现中创建新的视图控制器对象.您还可以返回由其他方法创建的现有视图控制器对象.例如,如果已从故事板文件加载视图控制器,则将返回该对象而不是创建新对象.[我的斜体.]
这对我来说似乎完全是胡说八道.这是一种类方法!我们目前没有任何访问任何实例的权限 - 除非我们创建一个实例.如果有人可以向我解释一个类方法如何找到或知道"已经从故事板文件中加载的视图控制器",我将不胜感激.
编辑:为了获得赏金,您必须向我展示一个实际案例,从您自己的应用程序中,viewControllerWithRestorationIdentifierPath:coder:用于"返回通过其他方式创建的现有视图控制器对象" 的类方法.
我能想到的最常见的例子是应用程序委托拥有的任何视图控制器。传统上,这是传统应用程序中的选项卡栏控制器或导航控制器,但有时它可以是完全自定义的东西,此时此功能可能很有用。
由于UIApplication几乎是一个单例并且有一个委托,这意味着您的 App Delegate 具有全局状态,这使得它可以从任何地方访问,包括在类方法中使用:[[UIApplication sharedApplication] delegate]。
当然,任何单例都可以从任何地方访问,一种常见的模式(但我个人不喜欢)是有一个NavigationManager单例来管理任何全局视图控制器转换,因此在这种情况下,您也可以访问现有实例。
| 归档时间: |
|
| 查看次数: |
1567 次 |
| 最近记录: |