我阅读了很多关于这个问题的主题,但并没有找到一个恰当的答案。我想创建一个NSManagedObject
实例,却不需要上下文。
原因是:应用从服务器接收到SOAP响应。这个响应必须被保存到Core Data中。这个响应看起来像一棵树。
我的想法是重写每个实体的init
方法,以便它可以接收数据。然后,我将能够创建根实体,而创建根实体将调用另一个实体的创建,以此类推。
负责发出请求的应用部分是通过泛型实现的。有一个协议,说明每个响应类都必须拥有init
方法,例如:
public protocol Parsable {
init(data: Data)
}
正如您所看到的,这里没有上下文的空间。相反,我想一次性创建所有这些实体并将其保存到上下文中。
另一个解决方案是制作重复的类,用响应填充它,然后将其复制到我的Core Data实体中。但这是不必要的重复,我想避免。
任何想法都将不胜感激。
NSManagedObject
实例。但是这有什么好处呢?无论如何,您都必须将实例插入上下文中,并且在创建和插入所有实例之后应该调用save
命令一次。 - vadian