【问题标题】:iphone, coredata, nsfetchedresults controller, delete object , delete uitableviewcell not workingiphone,coredata,nsfetchedresults 控制器,删除对象,删除 uitableviewcell 不起作用
【发布时间】:2012-11-15 13:41:02
【问题描述】:

我正在尝试使用UITableView 中的 nefetched 结果控制器删除 Core Data 对象,对象被删除但单元格未被删除且 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 重新加载数据不起作用 看起来可能是线程相关的问题,可能是我试图从另一个线程重新加载表..

【问题讨论】:

    标签: iphone ios core-data


    【解决方案1】:

    reloadData 方法只有在您保存更改后才会起作用。委托回调的全部目的是手动修改行,因此可以动画更改。

    case:NSFetchedResultsChangeDelete:
        [self.tblRecentSearch deleteRowsAtIndexPaths:@[indexPath];
                                    withRowAnimation: UITableViewRowAnimationFade];
    

    【讨论】:

      猜你喜欢
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      相关资源
      最近更新 更多