首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保存NSManagedObject?

如何保存NSManagedObject?
EN

Stack Overflow用户
提问于 2018-01-02 10:58:04
回答 1查看 598关注 0票数 0

我已经创建了一个与对应的核心数据实体相匹配的NSManagedObject类。这个类有一个初始化器,所以我可以传入属性值并对其赋值。

初始化NSManagedObject类并准备将其保存到核心数据后,具体如何保存它?

我看到的所有示例都是从通过NSManagedObjectContext创建一个新类开始的。我不想走这条路,因为我像创建其他类一样创建了这个类。

有没有什么方法可以把这个对象传递给NSManagedObjectContext并调用它的save()方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-02 13:13:21

听起来你可能没有正确地初始化你的托管对象。仅在初始化器中分配属性值是不够的--您必须使用指定的初始化器。您看到的所有示例都使用NSManagedObjectContext,因为托管对象的指定初始化器需要一个。如果您没有提供,您就没有使用指定的初始化器,并且您将无法在Core Data中保存您的对象。

这是核心数据的基本要求之一。您必须使用托管对象,托管对象必须正确初始化,并且执行此操作需要上下文。

您不保存托管对象--而是告诉上下文保存它所知道的任何更改,包括对其任何托管对象的更改。您可以通过创建一个只知道一个新对象的新上下文来使其更细粒度。但是,在一个上下文中保存一个对象并不会自动让其他上下文知道,因此您最终增加了一些复杂性来保持更改同步。

苹果的Core Data Programming Guide通过示例代码详细介绍了这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48055107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档