XCode 6中的iOS状态保存

时间:2015-08-24 20:21:25

标签: ios8 xcode6 uikit-state-preservation

我想在XCode 6和iOS 8中保留我的应用程序状态。但是,我能找到的所有信息都是指故事板和恢复标识符,但我没有使用故事板。

我确信我能理解所有这些不是一件大事:我似乎无法找到Xcode 6中View Controllers的恢复ID的字段。我找到了视图,但每个教程都明确表示我必须确保标记控制器,而不是视图!

非常感谢任何帮助:)

提前谢谢

1 个答案:

答案 0 :(得分:1)

restorationIdentifier是一个视图控制器属性以及一个视图属性。

来自View Controller Class Reference documentation

restorationIdentifier确定视图控制器是否支持状态恢复的标识符。

  

此属性指示是否应保留视图控制器及其内容,并用于在恢复过程中标识视图控制器。默认情况下,此属性的值为nil,表示不应保存视图控制器。将字符串对象分配给属性可让系统知道应保存视图控制器。此外,字符串的内容是识别视图控制器用途的方法。

国家恢复本质上是等级的。我确定您知道,如果您未设置视图控制器的restorationIdentifier属性,则其视图将不会被保存,即使其视图的{{1}属性已设置。

<强>更新

您可以在初始化时以编程方式设置视图控制器的restorationIdentifier

restorationIdentifier

由于您未使用Storyboard,因此无法检查视图控制器的属性。这是显示视图控制器的- (instancetype)initWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle { self = [super initWithNibName:nibName bundle:bundle]; if(self) { self.restorationIdentifier = @"MyViewControllerID"; } } 属性的位置。

Identity Inspector screenshot for a view controller