gpt4 book ai didi

iphone - 托管对象之外的 NSManagedObject 子类作为普通对象

转载 作者:太空狗 更新时间:2023-10-30 03:22:00 25 4
gpt4 key购买 nike

我有一个带有国家名称和国家代码的实体对象 Country。它是 NSManagedObject 的子类,我将它与核心数据模型一起使用,以将其值存储到持久存储中。

我有一个地方,同一个 Country 对象将用作普通对象,即我将用它来存储一些临时的国家/地区名称。

为此,我已将国家初始化如下

[NSManagedObject alloc] init]

初始化成功完成,但我无法为该对象设置任何属性。因此我做了一个探索。我发现,根据文档,不支持 NSManagedObject 的初始化。

我不知道如何将 NSManagedObject Country 与 CoreData 以及普通对象一起使用。

最佳答案

NSManagedObject 类文档概述的第 2 段:

A managed object is associated with an entity description (an instance of NSEntityDescription) that provides metadata about the object (including the name of the entity that the object represents and the names of its attributes and relationships) and with a managed object context that tracks changes to the object graph. It is important that a managed object is properly configured for use with Core Data. If you instantiate a managed object directly, you must call the designated initializer (initWithEntity:insertIntoManagedObjectContext:).

来自方法的文档:

Important: This method is the designated initializer for NSManagedObject. You should not initialize a managed object simply by sending it init.

文档实际上非常好。

您不想尝试在可行的 CoreData 堆栈之外使用 NSManagedObject。 NSManagedObjects 非常明确地设计用于在正确配置的 Core Data 环境中工作。如果您需要一个临时实例,您可以创建一个内存存储或在您的常规存储中创建一个,只是不保存更改而不先删除它。

关于iphone - 托管对象之外的 NSManagedObject 子类作为普通对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com