我正在构建我的第一个应用程序,并一直在寻找答案,但找不到答案。可能是我在搜索中使用的关键字。所以这是我的问题。
这是一款带有主从模板的iPad应用程序(Xcode 4)。主视图应显示类别列表,在选择每个类别后,文章列表将被推送到主视图(导航栏上的后退按钮将返回到类别列表)。
我能够让它在这里工作。选择文章后,我似乎无法使用文章名称更新详细视图中的标签。
这是我在AppDelegate.m中的代码:
MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
ArticlesViewController *articlesViewController = [[ArticlesViewController alloc] initWithNibName:@"ArticlesViewController" bundle:nil];
UINavigationController *articlesNavigationController = [[UINavigationController alloc] initWithRootViewController:articlesViewController];
DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
articlesViewController.mainDetailViewController = detailViewController;
self.splitViewController = [[UISplitViewController alloc] init];
self.splitViewController.delegate = detailViewController;
self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];
self.window.rootViewController = self.splitViewController;
如果我更改以下行:
self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];
到
self.splitViewController.viewControllers = [NSArray arrayWithObjects:articlesNavigationController, detailNavigationController, nil];
标签将会更新。
任何指针?我已经看到主视图上的教程连接到详细视图,其中主视图只有一个级别的导航,但似乎找不到模拟我的情况。再说一遍,我可能只是不知道要搜索的关键词。
先谢谢你。
答案 0 :(得分:0)
我设法通过使用NSNotificationCentre来实现它。
在ArticlesViewController(在MasterViewController中选择类别时显示的第二层)中,我发布了一个本地通知。
在DetailViewController中,我为通知添加了一个观察者。
这样我可以在详细视图中更新标签。
致谢这个精彩的视频教程:http://youtu.be/vnkNUoRtk1E