我有一个由核心数据支持的UITableView,其中的部分按日期分组。我可以删除并添加,当我在该视图上就好了。 NSFetchController和UITableView保持同步就好了。但后来我深入到一个单独的对象,进行更改,保存并返回。我没有从其他视图添加,但有时删除,大部分时间我只是对现有记录进行编辑,并且没有任何编辑会导致它们更改它们属于哪个部分。此时,如果我尝试删除一行,我会得到:
Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-1448.89/UITableView.m:974
2011-10-01 14:55:42.691 Lotus Bud[8073:fa03] Serious application error. An exception was caught from the delegate of NSFetchedResultsController during a call to -controllerDidChangeContent:. Invalid update: invalid number of sections. The number of sections contained in the table view after the update (1) must be equal to the number of sections contained in the table view before the update (1), plus or minus the number of sections inserted or deleted (0 inserted, 1 deleted). with userInfo (null)
从另一个视图保存后,我需要做些什么才能让它们重新同步。
答案 0 :(得分:0)
我建议在激活它时监听NSManagedObjectContextDidSaveNotification
并打破调试器。然后你可以看到哪些部分被删除,并希望回溯到问题的根源。