我在自定义FileIO(输入/输出)类中具有以下定义的方法:
- (void)saveObject:(NSObject*)object;
我还有一个名为MyClass的类,它具有一个属性:
@property (nonatomic, strong) MyDataClass* myData; // subclassed from NSObject
我尝试用该属性调用该方法:
[fileIO saveObject:self.myData];
由于某种原因,我收到了语义警告:
Incompatible pointer types sending 'MyDataClass *' to parameter of type 'NSObject *'
最佳答案
鉴于MyDataClass
实际上确实扩展了NSObject
,如果此.m文件未(直接或间接)导入MyDataClass
的.h,则可能会出现问题。如果所看到的只是一个前向声明(通过@class
),则编译器尚不知道MyDataClass
扩展了NSObject
。
为MyDataClass
导入.h,它应该可以解决问题。