Как 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];
}