как навигационный контроллер получает свой topViewController, установленный в этом коде (из примера CoreDataBooks)? - PullRequest
1 голос
/ 26 февраля 2011

Как navigationController получает свой topViewController, установленный в этом коде (из примера CoreDataBooks)?Я предполагаю некоторое сопоставление в файле NIB, однако я сам не могу доказать, как все здесь работает, просматривая этот код и файл NIB в Интерфейсном Разработчике.

Исходный код для примера доступен здесь .

Кто-то может объяснить, что topViewController установлен в этом приложении, например, в методе applicationDidFinishLaunching CoreDataBooksAppDelegate.m, получен экземпляр RootViewController?Я предполагаю, что объяснение может вращаться вокруг того, как обрабатываются Interface Builder и файл NIB ...

- (void)applicationDidFinishLaunching:(UIApplication *)application {

    RootViewController *rootViewController = (RootViewController *)[navigationController topViewController];  // <=== HOW DOES THIS WORK
    rootViewController.managedObjectContext = self.managedObjectContext;

    // Configure and show the window
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
}

1 Ответ

3 голосов
/ 26 февраля 2011

Кажется, он установлен в файле MainView.xib.Контроллер навигации имеет внутри контроллер представления, установленный на класс RootViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...