我正在创建一个带有splitview的iPad应用,这是屏幕截图, 在这一个中,当我更改masterview控制器(左侧)中的选项卡时,我想更新右侧tableview中的值。这将是一个很好的方法,我应该为每个标签更改加载另一个viewcontroller吗?可能吗?或者只是更新表格?对于所有选项卡更改,我想显示包含不同数据的tableview。 我使用了以下代码,我可以看到日志中的更改,但表格没有得到更新。
- (void)setDetailItem:(id)newDetailItem
{
if (_detailItem != newDetailItem) {
[_detailItem release];
_detailItem = [newDetailItem retain];
// Update the view.
[self configureView];
}
if (self.masterPopoverController != nil) {
[self.masterPopoverController dismissPopoverAnimated:YES];
}
}
- (void)configureView
{
// Update the user interface for the detail item.
if (isStudent) {
textStr = @"student";
NSLog(@"Student....%@",textStr);
[self.tableView reloadData];
}if (isTeachers) {
textStr = @"teacher";
NSLog(@"Teacher....%@",textStr);
[self.tableView reloadData];
}if (isPreference) {
textStr = @"preference";
NSLog(@"Preference....%@",textStr);
[self.tableView reloadData];
}if (isConfiguration) {
textStr = @"configuration";
NSLog(@"Configuration....%@",textStr);
[self.tableView reloadData];
}
}
我也尝试了
[self performSelectorOnMainThread:@selector(refreshTableView) withObject:nil waitUntilDone:NO];
请分享您的想法。 谢谢:))
答案 0 :(得分:4)
最后我自己发现了这个问题,我真的很高兴寻找解决方案。我已经浏览了几个论坛和教程。最后我想出了这个问题。在这个video中,他们已经说明了如何使用XCode 4.2创建SplitView应用程序。在这一个中,只有一行代码解决了这个问题。那是在Appdelegate.m文件中。默认情况下,MasterViewController无权访问详细信息视图,因此如果我们需要在detailview上执行某些操作,则必须连接masterviewcontroller和detailviewcontroller。检查视频,然后你会(那些面临同样问题的人)理解。
谢谢:)