Core data 核心数据和@dynamic

Core data 核心数据和@dynamic,core-data,dynamic,Core Data,Dynamic,我对核心数据是新手,有些问题我还不了解 我有一个名为GCS的实体(核心数据NSManagedObject的子类): 当我这样做时,它可以很好地处理核心数据: GCS *failedBankDetails = [NSEntityDescription insertNewObjectForEntityForName:@"GCS" inMan

我对核心数据是新手,有些问题我还不了解

我有一个名为GCS的实体(核心数据NSManagedObject的子类):

当我这样做时,它可以很好地处理核心数据:

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];