将对象转换为id

时间:2013-09-17 14:06:06

标签: ios objective-c core-data

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

item.idObject = object;

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

2 个答案:

答案 0 :(得分:2)

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

Documentation

还有更多内容

答案 1 :(得分: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