Ios 重写的NSManagedObject获取程序无法识别

Ios 重写的NSManagedObject获取程序无法识别,ios,dynamic,properties,unrecognized-selector,Ios,Dynamic,Properties,Unrecognized Selector,我无法将布尔属性与重写的getter方法名称一起使用。例如,在NSManageObject子类的标题中,我有: @property (nonatomic, retain, getter=isActive) NSNumber * active; 在实施文件中,我有: @dynamic active; Xcode识别“isActive”方法,并在我打字时自动完成它,代码编译时不会出错。但是,该代码: MyObject *newObject = (MyObject *)[NSEntityDescr

我无法将布尔属性与重写的getter方法名称一起使用。例如,在NSManageObject子类的标题中,我有:

@property (nonatomic, retain, getter=isActive) NSNumber * active;
在实施文件中,我有:

@dynamic active;
Xcode识别“isActive”方法,并在我打字时自动完成它,代码编译时不会出错。但是,该代码:

MyObject *newObject = (MyObject *)[NSEntityDescription insertNewObjectForEntityForName:@"MyObject" inManagedObjectContext:[self context]];
NSNumber * tagActive = [newObject isActive];
在经典中失败:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MyObject isActive]: unrecognized selector sent to instance 0xb67e760'

我已经测试了如何删除自定义getter,并使用[myObject active]简单地访问活动属性,这是可行的。NSManagedObject属性不支持这一点,还是我做错了什么?

@dynamic实际上并没有为方法生成setter和getter,它只是告诉编译器某些东西会生成。因此,我认为NSManagedObject只生成标准命名的setter和getter

谢谢您的解释!