Что делает установка rootViewController в UIWindow? - PullRequest
16 голосов
/ 20 ноября 2011

Назначение контроллера представления этому свойству (программно или с помощью Interface Builder) устанавливает представление контроллера представления как представление содержимого окна.

Приведенная выше цитата взята из окна UIWindow.ссылка.Мой вопрос о конкретной фазе:

"устанавливает представление контроллера представления как представление содержимого окна"

К чему относится именно представление содержимого?

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html

1 Ответ

43 голосов
/ 20 ноября 2011

До появления свойства rootViewController большинство приложений имели такой код в делегате приложения:

[window addSubview:viewController.view];
[window makeKeyAndVisible];

Этот код устанавливает представление контроллера представления в качестве основного представления, но экземпляр UIWindow не имеетссылка на контроллер, владеющий этим представлением.

Когда вы используете свойство rootViewController, вам больше не нужно добавлять представление контроллера представления в экземпляр UIWindow, это делается автоматически.Таким образом, количество строк кода остается неизменным, но теперь ваше UIWindow имеет ссылку на контроллер представления.

Итак, в более новых приложениях у нас теперь есть код, который выглядит следующим образом:

window.rootViewController = viewController;
[window makeKeyAndVisible];
...