UIViewControllerRestoration
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 6.0 и позже.
UIViewControllerRestoration
протокол должен быть принят классами, действующими как «классы восстановления” для контроллеров представления во время процесса восстановления состояния. Метод в этом протоколе должен использоваться для создания контроллера представления, если это еще не существует или возвращает существующий объект контроллера представления, если Вы действительно существуете.
Для использования класса, принимающего этот протокол необходимо присвоить тот класс restorationClass
свойство одного из контроллеров представления Вашего приложения.
-
viewControllerWithRestorationIdentifierPath (_: кодер:) + viewControllerWithRestorationIdentifierPath:coder:
ТребуемыйПросит получатель обеспечивать контроллер представления, соответствующий указанной информации об идентификаторе. (требуемый)
Объявление
Swift
static func viewControllerWithRestorationIdentifierPath(_
identifierComponents
: [AnyObject], codercoder
: NSCoder) -> UIViewController?Objective C
+ (UIViewController *)viewControllerWithRestorationIdentifierPath:(NSArray *)
identifierComponents
coder:(NSCoder *)coder
Параметры
identifierComponents
Массив
NSString
объекты, соответствующие идентификаторам восстановления желаемого контроллера представления и всем его наследователям в иерархии контроллера представления. Последнее значение в массиве является идентификатором восстановления желаемого контроллера представления. Более ранние записи представляют идентификаторы восстановления его наследователей.coder
Включенный archiver, содержащий сохраненную информацию приложения состояния.
Возвращаемое значение
Контроллер представления возражает для использования или
nil
если Вы не хотите восстанавливать этот контроллер представления теперь.Обсуждение
Ваша реализация этого метода должна создать (или найти), соответствующий объект контроллера представления, и возвратите его. Если Ваш класс восстановления решает, что он не целесообразен отображать этот контроллер представления теперь, он может возвратиться
nil
от этого метода для предотвращения того контроллера представления (и его дочерние элементы) от того, чтобы быть добавленным до интерфейса во время процесса восстановления.Вы используете строки в
identifierComponents
параметр для идентификации контроллера представления, который требуют. Контроллеры представления в Вашем приложении формируют иерархию. В корне этой иерархии корневой контроллер представления окна, который сам может представить или встроить другие контроллеры представления. Те представленные или встроенные контроллеры представления могут самостоятельно представить и встроить другие контроллеры представления. Результатом является иерархия отношений контроллера представления с каждым представленным или встроенным контроллером представления, становящимся дочерним элементом контроллера представления, представившего или встроившего его. Строки вidentifierComponents
массив идентифицирует путь через эту иерархию с корневого контроллера представления на желаемый контроллер представления.Не всегда необходимо создать новый объект контроллера представления в Вашей реализации этого метода. Можно также возвратить существующий объект контроллера представления, создававшийся другим, означает. Например, если бы контроллер представления был уже загружен из файла раскадровки, Вы возвратили бы тот объект, а не создали бы новый.
Ваша реализация этого метода может использовать любые данные в предоставленном
coder
помогать в процессе восстановления. Однако Вы не должны восстанавливать все состояние контроллера представления в этой точке. Во время более поздней передачи просмотрите контроллеры, определяющие adecodeRestorableStateWithCoder:
методу дают шанс восстановить их состояние от того же объекта кодера.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.