CoreData? 难以学习,应用有趣

我只是在NSManagedObject和NSManagedObjectContext之间徘徊,因为我的程序无法正常工作。 情况是我需要利用Apple提供的CoreData框架进行简单的CRUD操作。 该文档非常有用,丰富且清晰,但对于我作为新开发人员而言并不适用。
我的第一个想象是CRUD操作将涉及具有简单语法的简单步骤,例如将某些内容保存在UserDefaults中。 我们需要定义一个值和一个键来实现持久性。 但是CoreData确实使我陷入了总共3天的混乱代码。
我们需要定义PersistenceStore(无论是什么名称,我都不想提及它的确切名称。哈哈哈),ManagedObjectContext以及保存涉及线程相关性和并发性的过程。 真的让我不知所措。
带给我很多注释和代码的其中一件最重要的事情是ManagedObjectContext的用法。 为了第一。 我只是学习如何将对象保存到磁盘。 由于每当执行保存业务逻辑时都会更新我的SQLite文件,所以我不在乎该错误。 根据Apple本身的说法,故障是为了节省内存使用而设计的,因为该对象保持为零状态,直到触发该对象才占用任何内存。 不完全是描述,而是理解概念的最简单方法。
以我为例,当我需要显示数组中包含的对象以更新TableView时,会导致混乱。 由于这个错误,我的tableView仍然不显示任何列表,但行数与数组数完全相同。
事实证明,我的代码中缺少什么,我没有正确使用ManagedObjectContext。 我插入了privateManagedObjectContext内的ManagedObject,当我读取该属性时,从mainManagedObjectContext调用它。 因为前者在函数返回时被释放,所以我的ManagedObject再次回到其故障状态。
值得注意的是:
照顾好ManagedObjectContext,您的代码就可以了。
附录:
我还有更多问题,其中之一是线程安全问题。 我会学习,我会克服它。 这些错误会使我屈膝。 😀