0

我正在尝试Core Data使用 nefetched results controller 删除对象UITableView,对象被删除但单元格未被删除并且 tablecelldeleteanimation 无法正常工作

objtableview.delegate = otherdelegateobject; 
objtableview.datasource = otherdatasourceobject; 

在表视图编辑样式数据源方法中,我正在删除 coredata 对象,因此调用了 nsfetchedresults 控制器委托方法...

- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath { 
switch(type) { 
case NSFetchedResultsChangeDelete: 
[self.tblRecentSearch reloadData];

(见全文)它删除核心数据对象,但调用 tableview 重新加载数据不起作用看起来可能是线程相关的问题,可能是我试图从另一个线程重新加载表..

4

1 回答 1

0

reloadData方法仅在您保存更改后才有效。委托回调的全部目的是手动修改行,因此可以对更改进行动画处理。

case:NSFetchedResultsChangeDelete:
    [self.tblRecentSearch deleteRowsAtIndexPaths:@[indexPath];
                                withRowAnimation: UITableViewRowAnimationFade];
于 2012-11-17T10:23:50.687 回答