我在重新加载在UIViewController中设置的tableView时遇到了一些麻烦。
现在我通常使用的是:[_mainTableView reloadData];
这次不起作用。
这是因为自定义Cell还是Core Data的FetchRequest最初加载正常并在重新启动应用程序时显示数据?
我在SO和Google上看过几个问题和教程,但在我的案例中似乎都没有。
我也研究过这些方法:
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
{
[self.tableView beginUpdates];
}
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
{
[self.tableView endUpdates];
}
在此处找到:beignUpdates
感谢任何建议。
答案 0 :(得分:0)
您是否合成了表格视图?请试试这个:
[self.mainTableView reloadData];
希望,它会起作用。并且,既然你在viewWillAppear上重新加载它,请确保它既没有分配新的时间也没有再分配它的委托/数据源,如果是,那么,第一次,做类似的事情:
_mainTableView.delegate = nil; _mainTableView.delegate = self; //类似地,对于数据源...
而且,你需要明确调用你的viewWillAppear(我想你已经这样做了。)
请关注我们。
感谢。
答案 1 :(得分:0)
感谢您的输入,我终于把它排序了。
而不是调用[_mainTableView reloadData]
我不得不再次调用fetch方法。
if (_managedObjectContext == nil)
{
_managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
NSLog(@"After _managedObjectContext: %@", _managedObjectContext);
}
[self setupFetchedResultsController];