Документов на viewControllerWithRestorationIdentifierPath:coder:
говорят:Как может viewControllerWithRestorationIdentifierPath: coder: найти существующий экземпляр?
Ваша реализация этого метода необходимо создать (или найти) в соответствующего вида объект контроллера и вернуть его ... Это не всегда необходимо создать новый объект вида контроллера в вашем исполнении этого метода. Вы также можете вернуть существующий объект объекта , который был создан другим способом. Например, , если контроллер представления уже был загружен из файла раскадровки, , вы вернете этот объект, а не создадите новый. [Курс курсивом.]
Это всегда казалось полной бессмыслицей для меня. Это метод класса! У нас нет доступа к каким-либо экземплярам в данный момент - если мы не создадим их. Я был бы признателен, если кто-нибудь сможет объяснить мне, как метод класса может найти или узнать о «контроллере представлений, который уже был загружен из файла раскадровки».
EDIT: Чтобы получить награду вы должны показать мне реальный случай, с вашего собственного приложения, метода класса viewControllerWithRestorationIdentifierPath:coder:
используется для «возвращает существующий объект вида контроллера, который был создан другим способом.»
В реальной жизни, поскольку делегат приложения действительно, вероятно, тот, кто знает, какие контроллеры представлений уже были загружены из файла раскадровки, и как ссылаться на них по мере того, как восстанавливается механизм восстановления, кажется более вероятным, что я skip 'viewControllerWithRestorationIdentifierPath: coder:' и использовать приложение делегата приложения: viewControllerWithRestorationIdentifierPath: coder: '_instead_. И поскольку этот метод экземпляра _is_, это не проблема. Кажется, я не смог выявить каких-либо обстоятельств, когда этого не было бы. – matt