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

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

Разработчик

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

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

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

UIViewControllerRestoration

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


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

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


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

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


Swift

import UIKit

Objective C

@import UIKit;

Доступность


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

UIViewControllerRestoration протокол должен быть принят классами, действующими как «классы восстановления” для контроллеров представления во время процесса восстановления состояния. Метод в этом протоколе должен использоваться для создания контроллера представления, если это еще не существует или возвращает существующий объект контроллера представления, если Вы действительно существуете.

Для использования класса, принимающего этот протокол необходимо присвоить тот класс restorationClass свойство одного из контроллеров представления Вашего приложения.

  • Просит получатель обеспечивать контроллер представления, соответствующий указанной информации об идентификаторе. (требуемый)

    Объявление

    Swift

    static func viewControllerWithRestorationIdentifierPath(_ identifierComponents: [AnyObject], coder coder: NSCoder) -> UIViewController?

    Objective C

    + (UIViewController *)viewControllerWithRestorationIdentifierPath:(NSArray *)identifierComponents coder:(NSCoder *)coder

    Параметры

    identifierComponents

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

    coder

    Включенный archiver, содержащий сохраненную информацию приложения состояния.

    Возвращаемое значение

    Контроллер представления возражает для использования или nil если Вы не хотите восстанавливать этот контроллер представления теперь.

    Обсуждение

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

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

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

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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