【发布时间】:2023-03-20 02:12:01
【问题描述】:
我正在使用 Core Data 和 KVO 来查找值的变化以触发保存到数据存储。我有一个连接到NSFetchedResultsController 的搜索表视图。当搜索改变时,按下搜索按钮会创建一个新的结果控制器。当用户在结果表视图中选择一个项目时,用户将进入详细视图并可以进行编辑。
这就是我遇到问题的地方。当用户在我所做的单独 UIControl 中进行更改时,会通知详细视图并且可以使用它记得的 NSFetchedResultsController 从表格视图将我推送到视图堆栈以获取 NSManagedObjectContext 并进行保存。当我这样做时,有时会收到以下错误:
Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. no object at index 89 in section at index 0 with userInfo (null)
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'no object at index 89 in section at index 0'
我发现当我进行搜索并将不在表格顶部的对象移到顶部时,往往会发生这种情况。我隐约知道我的脑后可能出了什么问题,但希望能提供有关如何解决此问题的任何指示。
【问题讨论】:
标签: iphone cocoa core-data key-value-observing cocoa-design-patterns