我很好奇为什么我仍然会收到访问者方法警告,即使我已经在实现文件中有@dynamic
。 Form
和Module
是核心数据实体,它们各自的类由Xcode自动生成。
在Form.h中:
@property (nonatomic, retain) NSSet *modules;
在Form.m中:
@dynamic modules;
(表单实体将模块作为多对多关系,它本身就是模块的一对一关系。)
奇怪的是,模块还会收到关于缺少{。1}}属性的访问器的警告,该属性在.m文件中也有NSString *
。
在Module.h中:
@dynamic
在Module.m中:
@property (nonatomic, retain) NSString * moduleDescription;
答案 0 :(得分:0)
啊,我记得我曾经临时手动创建了这些类的副本,但是在不同的文件名下。但是因为里面的类名仍然相同,我猜测编译器将它们视为同一类定义的延续。删除交替命名的重复类(.h和.m)后,警告就解决了。
消除重复的标头或实施,即使它们具有不同的文件名。