Jas*_*Lee 6 iphone core-data objective-c uitableview ios
正如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");
}
Run Code Online (Sandbox Code Playgroud)
在上述两个函数之间,我重新加载目标单元格:

case NSFetchedResultsChangeUpdate: {
if (indexPath) {
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}
Run Code Online (Sandbox Code Playgroud)

我在Line1563设置了一个断点,检查reloadRowsAtIndexPaths是否已经调用了,但之后- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath没有被调用.
所以,我的手机无法更新.
有人可以告诉我为什么?谢谢.
您能否使用 [tableView reloadData] 重新加载 tableview 来进行检查?
如果您只想更新一行而不重新加载表,请检查“indexPath”类型。应该是NSIndexPath。
| 归档时间: |
|
| 查看次数: |
4197 次 |
| 最近记录: |