0

我开始了一个小型技术演示项目,只是为了了解核心数据。我想要加载一个表格视图,以与使用核心数据存储的数据保持同步。

我想我已经实现了数据模型并在其中正确保存了笔记。但是它没有在桌面上更新。我不确定我做错了什么,也许我没有正确链接某些东西或什么?

我已经检查了我的文件系统上的持久存储,并且我创建的注释在那里,所以我知道核心数据正在写入文件 OK。

任何帮助,将不胜感激。我已将项目作为 zip 文件上传,以避免将整个课程粘贴到此处。表的委托和数据源也设置为我的故事板中的视图控制器。

该项目位于:https ://dl.dropboxusercontent.com/u/12457690/cdtest.zip

4

1 回答 1

0

恐怕有几个问题:

  • 您还没有实现任何NSFetchedResultsControllerDelegate方法。您希望表格视图如何自动更新?
  • 在您的setManagedObjectContext:方法中,您创建了一个获取的结果控制器,但不设置委托。
  • 你的performFetch方法永远不会被调用。即使它被调用,它也不会调用 performFetch:fetched results 控制器,因为没有设置谓词(为什么有这个限制?)。
  • 在您的deleteNote:方法中,您应该只删除托管对象。相应地更新表视图由获取的结果控制器完成(如果实现正确)。

也许从实现NSFetchedResultsControllerDelegate方法开始(该协议的文档中有示例代码)。然后在代码中设置断点并检查是否设置了获取结果控制器的委托,并检查是否performFetch:调用了初始值。

于 2013-07-26T13:20:23.413 回答