Сохранение состояния iOS в XCode 6
Я хотел бы сохранить состояние моего приложения в XCode 6 и iOS 8. Однако вся информация, которую я могу найти, относится к раскадровкам и идентификаторам восстановления, но я не использую раскадровки.
Я уверен, что мог бы понять все это, если бы не одна важная вещь: я не могу найти поле для идентификатора восстановления для View Controllers в Xcode 6. Я нашел те для представлений, но каждый учебник дает понять, что я должен убедиться, что пометить контроллер, а не вид!
Любая помощь высоко ценится:)
Спасибо заранее
1 ответ
restorationIdentifier
является свойством контроллера представления, а также свойством представления.
Из справочной документации по классу View Controller:
restorationIdentifier
Идентификатор, который определяет, поддерживает ли контроллер представления восстановление состояния.
Это свойство указывает, должен ли контроллер представления и его содержимое сохраняться и используется для идентификации контроллера представления в процессе восстановления. Значение этого свойства по умолчанию равно nil, что указывает на то, что контроллер представления не должен быть сохранен. Присвоение строкового объекта свойству позволяет системе узнать, что контроллер представления должен быть сохранен. Кроме того, содержимое строки - это ваш способ определить назначение контроллера представления.
Государственное восстановление имеет иерархический характер. Как я уверен, вы знаете, если вы не установите контроллер представления restorationIdentifier
свойство, его вид не будет сохранен, даже если его вид restorationIdentifier
свойство установлено.
Обновить:
Вы можете программно установить свой контроллер представления restorationIdentifier
когда вы его инициализируете:
- (instancetype)initWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle
{
self = [super initWithNibName:nibName bundle:bundle];
if(self)
{
self.restorationIdentifier = @"MyViewControllerID";
}
}
Поскольку вы не используете раскадровки, вы не можете проверить свойства вашего контроллера представления. Это где вид контроллера restorationIdentifier
свойство отображается.