1
1
如果在移动行时使用节,则nsfetchedresultsController和表视图将立即退出同步。我想这是班上的一个错误。所以这不是我经验中未保存的上下文。 其中一个问题是,移动后索引路径不是最新的,因此该路径上的行数不再正确,这导致“索引越界”。假设您有一个到(1,1)的索引,并删除(1,1)处的行。索引指向(1,1),但第1节的内容不再相同等。 只需让它对你可见 nsInteger tableSectionCount=[self.tableView numberofSections]; nsuinteger frcSectionCount=[[controller sections]count]; nslog(@“TableSectionCount:%d”,TableSectionCount); nslog(@“frcSectionCount:%d”,frcSectionCount); 你会看到的。 此外,很难找到国家自然科学基金委使用nsfetchedresultshangemove或nsfetchedresultshangeupdate的所有案例。这很大程度上取决于是否需要对行重新排序。 最后,您必须为每一个特定的情况自己同步tabel视图和nsfrc。最后我花了三天才弄清楚。 非常有用的是: http://iphonedevelopment.blogspot.com/2009/11/one-fix-to-nsfetchedresultscontroller.html . 我已经给作者发了更多的发现,所以我想会有更新。 但同样重要的是:关键是保持分区的最新状态。 祝你好运! 胃食管反流病 |
2
1
我知道了。事实上, Jeff LaMarche 算了出来。 这段代码救了我:
因为我在表视图中移动这些行,所以视图已经反映了这些更改。当我更新数据源时,我的代理将尝试重新排列已移动的行,从而导致崩溃。 |