正如Apple Doc所说,
重新加载一行会导致表视图向其数据源询问该行的新单元格。
我将 UITableView 与 NSFetchedResultsController 结合起来:
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
{
if (self.tableView.isEditing)
{
[self.tableView setEditing:NO animated:YES];
}
[self.tableView beginUpdates];
}
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
{
[self.tableView endUpdates];
[self updateTabItemBadge];
[self.noDataView setHidden:![self isNoData]];
WXINFO(@"controllerDidChangeContent");
}
在上述两个函数之间,我重新加载了目标单元格:
case NSFetchedResultsChangeUpdate: {
if (indexPath) {
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}
我在 Line1563 设置了一个断点,以检查reloadRowsAtIndexPaths
是否已调用,但在那之后,- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
没有调用。
所以,我的手机无法更新。
有人可以告诉我为什么吗?谢谢。