我目前正在使用iCloud在设备之间同步Core Data。设备之间的数据同步正在运行,但重新加载包含数据的UITableView
数据的调用有问题。这是我的代码:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(pushListLearn:)
name:@"receivedLocalNotification"
object:nil];
- (void)reloadFetchedResults:(NSNotification*)note {
NSLog(@"Underlying data changed ... refreshing!");
[self.fetchedResultsController performFetch:nil];
}
如果我单独更新设备,UITableView
会成功更新新数据。但是,如果另一台设备在主设备打开并滚动(重新加载单个单元格数据)时删除另一台设备上的对象,我的应用程序会崩溃并显示以下内容:
[__ NSArrayI objectAtIndex:]:索引0超出空数组的界限
如果您需要,我的UITableView
配置如下:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
id <NSFetchedResultsSectionInfo> sectionInfo = [self.fetchedResultsController sections][0];
return [sectionInfo numberOfObjects];
}
提前致谢!
答案 0 :(得分:0)
我需要添加到以下方法中的是在获取后直接重新加载UITableView
:
- (void)reloadFetchedResults:(NSNotification*)note {
NSLog(@"Underlying data changed ... refreshing!");
[self.fetchedResultsController performFetch:nil];
[self.tableView reloadData];
}