我已经开始了一个小型技术演示项目,只是为了感受核心数据。我希望加载一个表视图,使用核心数据保存最新数据。
我认为我已经实现了数据模型并正确地保存了笔记。但是它没有在桌面上更新。我不确定我做错了什么,也许我没有正确地联系到什么东西?
我已经检查了文件系统上的持久存储,我创建的注释就在那里,所以我知道核心数据正在写入文件OK。
任何帮助将不胜感激。我已经将项目上传为zip,以避免在这里粘贴整个课程。表的委托和数据源也设置为我的故事板中的视图控制器。
该项目位于:https://dl.dropboxusercontent.com/u/12457690/cdtest.zip
答案 0 :(得分:0)
恐怕有几个问题:
NSFetchedResultsControllerDelegate
方法。
您希望表视图如何自动更新?setManagedObjectContext:
方法中,您创建了一个获取的结果控制器,但不设置该委托。performFetch
方法。即使它被召唤,它也不会打电话
在获取的结果控制器上performFetch:
,因为没有设置谓词(为什么这个限制?)。deleteNote:
方法中,您应该删除托管对象。更新
相应的表视图由获取的结果控制器完成(如果正确实现)。也许从实施NSFetchedResultsControllerDelegate
方法开始(有
该协议文档中的示例代码)。然后在代码中设置断点
并检查是否设置了获取结果控制器的委托,并检查是否
最初的performFetch:
被调用。