Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка на протокол UIStateRestoring

Опции
Развертывание Target:

На этой странице
Язык:

UIStateRestoring

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 7.0 и позже.

UIStateRestoring протокол позволяет Вам включать любой объект в свои архивы восстановления состояния. Можно добавить, что восстановление состояния возражает против архива непосредственно или путем ссылки на них от другого объекта, сохраняющегося, такие как контроллер представления. Методы протокола позволяют Вам сохранить достаточно информации об объекте найти или воссоздать его во время следующего цикла запуска.

При принятии этого протокола в пользовательских объектах необходимо также не забыть регистрировать те объекты с помощью registerObjectForStateRestoration:restorationIdentifier: метод UIApplication класс. Вы не должны регистрировать представления или контроллеры представления явно, потому что UIKit регистрирует те объекты автоматически. Контроллеры представления принимают этот протокол так, чтобы они могли использоваться в качестве родителя восстановления одного из Ваших пользовательских объектов.

  • restorationParent Свойство

    Родительский объект раньше определял объем текущего объекта. (только для чтения)

    Объявление

    Swift

    optional var restorationParent: UIStateRestoring! { get }

    Objective C

    @property(nonatomic, readonly) id< UIStateRestoring > restorationParent

    Обсуждение

    Возврат объекта от этого свойства позволяет Вам использовать тот же идентификатор восстановления для объектов с подобным поведением, но различными родителями. При регистрации объектов, registerObjectForStateRestoration:restorationIdentifier: метод проверяет значение этого свойства, с помощью значения в качестве содержания объема для объекта. Например, объект связался с целью, контроллер может сделать контроллер представления его родителем.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • objectRestorationClass Свойство

    Класс, ответственный за создание этого объекта при восстановлении состояния приложения. (только для чтения)

    Объявление

    Swift

    optional var objectRestorationClass: AnyObject.Type! { get }

    Objective C

    @property(nonatomic, readonly) Class< UIObjectRestoration > objectRestorationClass

    Обсуждение

    Если объект имеет связанный класс восстановления, objectWithRestorationIdentifierPath:coder: метод того класса вызывают во время восстановления состояния. Тот метод ответственен за возврат объекта, соответствующего предоставленную информацию идентификатора пути. Если это свойствоnil, объект должен уже существовать и быть зарегистрирован в механизме восстановления состояния так, чтобы это могло быть найдено неявно. Можно зарегистрировать объект с помощью registerObjectForStateRestoration:restorationIdentifier: метод во время запуска.

    Класс восстановления должен соответствовать UIObjectRestoration протокол.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Кодирует связанную с состоянием информацию для объекта.

    Объявление

    Swift

    optional func encodeRestorableStateWithCoder(_ coder: NSCoder)

    Objective C

    - (void)encodeRestorableStateWithCoder:(NSCoder *)coder

    Параметры

    coder

    Объект кодера использовать для кодирования состояния объекта.

    Обсуждение

    Можно реализовать этот метод для любого объекта, имеющего информацию состояния, которую Вы хотите сохранить. При решении, что данные сохранить, запишите, что самый маленький объем данных должен был восстановить объект к своей текущей конфигурации. Информация Вы, сохранение должно быть данными, которые Вы не могли легко воссоздать. Можно также сохранить ссылки на другие объекты, такие как контроллер представления, использовавший объект.

    Строго рекомендуется вызвать super в некоторый момент во время Вашей реализации, чтобы дать родительским классам возможность сохранить информацию также.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Декодирует и восстанавливает связанную с состоянием информацию для объекта.

    Объявление

    Swift

    optional func decodeRestorableStateWithCoder(_ coder: NSCoder!)

    Objective C

    - (void)decodeRestorableStateWithCoder:(NSCoder *)coder

    Параметры

    coder

    Объект кодера использовать для декодирования состояния представления.

    Обсуждение

    Если Ваши поддержки приложений утверждают восстановление, можно реализовать этот метод на любом объекте, для которого Вы также переопределили encodeRestorableStateWithCoder: метод. Ваша реализация этого метода должна считать любые сохраненные информации состояния из архива и использовать его для восстановления объекта к его предыдущей конфигурации. Если Ваш encodeRestorableStateWithCoder: метод вызывают super, этот метод должен так же вызвать super в некоторый момент в его реализации.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Вызванный после того, как все объекты имели возможность декодировать их состояние.

    Объявление

    Swift

    optional func applicationFinishedRestoringState()

    Objective C

    - (void)applicationFinishedRestoringState

    Обсуждение

    Реализуйте этот метод, по мере необходимости, для выполнения дополнительной конфигурации восстановленного объекта. Когда все объекты декодировались, этот метод вызывают к концу процесса восстановления. Вы могли бы использовать этот метод для восстановления состояния, существующего между многократными объектами или в случаях, где у Вас есть зависимости, делающие декодирование тех объектов в определенном порядке трудным.

    Порядок, в котором к этому методу обращаются декодируемые объекты, не гарантируется.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Следующие ключи доступны в архивах восстановления.

    Объявление

    Swift

    let UIStateRestorationViewControllerStoryboardKey: String let UIApplicationStateRestorationBundleVersionKey: String let UIApplicationStateRestorationUserInterfaceIdiomKey: String let UIApplicationStateRestorationTimestampKey: String let UIApplicationStateRestorationSystemVersionKey: String

    Objective C

    NSString *const UIStateRestorationViewControllerStoryboardKey; NSString *const UIApplicationStateRestorationBundleVersionKey; NSString *const UIApplicationStateRestorationUserInterfaceIdiomKey; NSString *const UIApplicationStateRestorationTimestampKey; NSString *const UIApplicationStateRestorationSystemVersionKey;

    Константы

    • UIStateRestorationViewControllerStoryboardKey

      Значение этого ключа является a UIStoryboard объект, представляющий раскадровку, из которой был первоначально получен контроллер представления. Вы не должны писать этот ключ в кодер сами. Каждый UIViewController класс автоматически пишет этот ключ в кодер во время процесса сохранения состояния.

      Доступный в iOS 6.0 и позже.

    • UIApplicationStateRestorationBundleVersionKey

      Значение этого ключа NSString объект, идентифицирующий версию Вашего приложения (как получено из CFBundleVersion ключ Вашего приложения Info.plist файл), был, присутствовал, когда была сохранена информация состояния. Можно использовать значение этого ключа, чтобы помочь сделать выбор о том, как продолжить во время восстановления состояния. Например, если ключ указывает, что состояние связано с более старой версией Вашего приложения, Вы могли бы хотеть избежать восстановить предыдущее состояние в целом или изменять процесс восстановления более значительно.

      Доступный в iOS 6.0 и позже.

    • UIApplicationStateRestorationUserInterfaceIdiomKey

      Значение этого ключа NSNumber объект, содержащий одно из значений для UIUserInterfaceIdiom перечисление. Это значение отражается, предназначался ли сохраненный интерфейс для iPad или идиомы iPhone.

      Доступный в iOS 6.0 и позже.

    • UIApplicationStateRestorationTimestampKey

      Значение этого ключа NSDate объект, содержащий дату, когда был сохранен архив восстановления. Дата указана с помощью всемирного координированного времени (UTC).

      Доступный в iOS 7.0 и позже.

    • UIApplicationStateRestorationSystemVersionKey

      Значение этого ключа NSString объект, содержащий версию системы iOS, установленную, когда был сохранен архив. Формат этой строки соответствует формат значения в systemVersion свойство UIDevice класс.

      Доступный в iOS 7.0 и позже.