0

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

我确信我可以理解所有这些,如果不是一件主要的事情:我似乎无法在 Xcode 6 中找到视图控制器的恢复 ID 字段。我找到了视图的字段,但是每个教程清楚地表明我必须确保标记控制器,而不是视图!

非常感谢任何帮助:)

提前谢谢

4

1 回答 1

1

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

视图控制器类参考文档

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

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

状态恢复本质上是分级的。我相信你知道,如果你不设置视图控制器的restorationIdentifier属性,它的视图将不会被保存,即使它的视图的restorationIdentifier属性被设置了。

更新:

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

- (instancetype)initWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle
{
    self = [super initWithNibName:nibName bundle:bundle];
    if(self)
    {
        self.restorationIdentifier = @"MyViewControllerID";
    }
}

由于您没有使用 Storyboard,因此您无法检查视图控制器的属性。这是restorationIdentifier显示视图控制器属性的地方。

视图控制器的身份检查器屏幕截图

于 2015-08-25T19:10:43.017 回答