Master-Detailアプリケーションテンプレートのすべての「ナットとボルト」がXcode 4.2(MainWindow.xibやその他変更)。私は窓はなく始まりでのXcodeの以前のバージョンで使用したことMainWindow.xibを使用して、などのためのオブジェクトをインスタンス化のプログラムで作成されていることがわかり新しいXcodeを理解するための助けが必要です4.2 Master-Detail Application Template
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
self.splitViewController = [[UISplitViewController alloc] init];
self.splitViewController.delegate = detailViewController;
self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];
self.window.rootViewController = self.splitViewController;
[self.window makeKeyAndVisible];
return YES;
}
:「AppDelegate」で私達は次のコードを持っています「Master」と「Detail」の両方は、テンプレートに付属しているコントローラクラスを表示し、別々のUINavigationControllerに使用します。次に、splitViewControllerプロパティには、新規の割り当てられたUISplitViewControllerオブジェクトが割り当てられ、detailViewControllerを「デリゲート」として割り当てます。また、両方のUINavigationControllerを「viewControllers」として含む配列が作成されます。 window.rootViewControllerには、このsplitViewControllerオブジェクトが割り当てられます。
私は
1ですしている主な質問)なぜ私は2つ必要です "UINavigationControllersは?"
2)「デリゲート」として「detailViewController」を設定するのは何ですか?実際に委任されるのは何ですか。 ?
3)最後に、「DetailViewController」スタックに追加項目をプッシュしたい場合は、「DetailViewController」クラスを使用して「didSelectRow ..」メソッドを使用してプッシュするか、代わりにself.splitViewController.viewControllersプロパティへの更新?