Core data 核心数据和@dynamic
我对核心数据是新手,有些问题我还不了解 我有一个名为GCS的实体(核心数据NSManagedObject的子类): 当我这样做时,它可以很好地处理核心数据:Core data 核心数据和@dynamic,core-data,dynamic,Core Data,Dynamic,我对核心数据是新手,有些问题我还不了解 我有一个名为GCS的实体(核心数据NSManagedObject的子类): 当我这样做时,它可以很好地处理核心数据: GCS *failedBankDetails = [NSEntityDescription insertNewObjectForEntityForName:@"GCS" inMan
GCS *failedBankDetails = [NSEntityDescription
insertNewObjectForEntityForName:@"GCS"
inManagedObjectContext:context];
failedBankDetails.eye = [NSNumber numberWithInt:12];
但是,在另一个类中,我有一个GCS类型的属性:
@interface ModelManager : NSObject
{
GCS *tempGCS;
}
@property (nonatomic, retain) GCS *tempGCS;
...
在ModelManager中,我尝试了以下方法:
tempGCS.eye = [NSNumber numberWithInt:0];
但提出了例外情况:
调用NSManagedObject类“GCS”上的指定初始值设定项失败
-[GCS setEye:]:无法识别的选择器发送到实例0x4d32ac0
为什么我现在不能使用点符号?我认为@dynamic是线索,但我不应该改变它,因为我需要将它用于核心数据,对吗
请帮助我,对不起我的英语。
谢谢 点表示法与此无关,如果调用
[tempGCS setEye:…]
,则会出现相同的错误。错误在于,在tempGCS
中创建对象时,您忽略了调用initWithEntity:insertIntoManagedObjectContext:
;特别是,[[GCS alloc]init]
将无法正常工作。我建议在您自己的自定义初始值设定项中使用entity:insertIntoManagedObjectContext:结束对init的调用,每次都必须键入该值。比如说眼睛:等等。
tempGCS.eye = [NSNumber numberWithInt:0];