1

我有一个继承自 NSObject 的对象,我希望将其保存在 CoreData 中,我已经创建了一个“可转换”类型的属性(即“id”),因此在将项目添加到数据库时无法直接保存项目,例如:

item.idObject = object;

它会产生一个错误,我认为问题是我应该将对象转换为id,我该怎么做?

4

2 回答 2

2

通过将属性设置为可转换,您走在了正确的轨道上。但是您还必须为 Core Data 可以使用的这个对象编写一个 valueTransformer。

文档中有更多内容

于 2013-09-17T14:07:54.487 回答
0

当你分配一个核心数据属性时,它可能只是某些类型,NSString,NSNumber 等...如果你分配一个关系,它必须是另一个 NSManagedObject 实例,如果你想将它保存为模型的一部分,你可以当然具有任何类型的瞬态属性。

所以...

@implimentation OurClass

@dynamic someProperty; // core data model property NSNumber, NSString, etc.
@dynamic someRelationship; // core data relationship some other subclass of NSManagedObject
@synthesized someOtherProperty; // can be anything, following normal Objective-C semantics.

@end
于 2013-09-17T14:10:13.187 回答