如何更新splitViewController中的detailView?
问题描述:
我想更新splitViewController中的detailView。 这是我尝试:如何更新splitViewController中的detailView?
//Get the application delegate
AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
//Get the masterViewController
MasterViewController *master = [delegate.splitViewController.viewControllers objectAtIndex:0];
这似乎很好地工作至今。 后来我尝试这样做,以更新detailViewController标签:
master.detailViewController.myLabel.text = @"someText";
但是,这是行不通的。
那么如何正确的方式来访问detailView中的网点?
感谢您的帮助。
答
定义DetailViewController;在你的例子中,detailViewController是:
DetailViewController * detailViewController = [delegate.splitViewController.viewcontrollers objectAtIndex:1];
答
你不应该到达另一个视图控制器和改变的东西。相反,只需发送一条消息到DetailViewController,例如[detailViewController setCurrentEntry:selectedEntry]
。更好的是,使用通知或KVO让DetailViewController观察主列表中的选择。这样,两个视图控制器根本不需要互相参照;当你想重新安排你的应用程序的布局时,这很方便,或者在模态视图中单独使用一个视图控制器。规划未来。