【发布时间】:2010-10-15 17:18:06
【问题描述】:
我有一个 UITableView,它使用 JSON 从 AppDelegate 获取新数据。它保存数据,然后从 AppDelegate.data3 拉到这个 tableview 类中,在我向 mysql 数据库添加一条记录后,我启动刷新数据的 Delegate 方法。
然而,[self.tableview reLoadData];打破了表格的向下钻取能力,如果我选择了行,它会在瞬间推动子视图并使用父行刷新屏幕。如果我取出 [self.tableview reLoadData];父母向孩子推送,但我没有得到包含新数据的刷新屏幕。
有什么想法吗?
-(void) loadData3;{
//Initialize table data source
MyAppDelegate *AppDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
self.tableDataSource3 = [AppDelegate.data3 objectForKey:@"Rows"];
}
- (void)viewDidLoad {
[super viewDidLoad];
if(CurrentLevel3 == 0) {
self.navigationItem.title = @"Parent Table";
}
else
self.navigationItem.title = CurrentTitle3;
}
}
- (void)viewDidAppear:(BOOL)animated {
[self loadData3];
[self.tableview reloadData];
[super viewDidAppear:animated];
}
【问题讨论】:
-
可能会尝试在 [self loadData3] 之前调用 [super viewDidAppear:animated]
-
我不知道这是否能解决任何问题,但我一直在使用
viewWillAppear:而不是viewDidAppear:来处理这种事情。 -
@nimrod 放置 viewWillAppear 导致:错误 __NSCFArray objectAtIndex:]: index (1) beyond bounds (1)'
标签: iphone uitableview reloaddata