我在自定义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 *'
答案 0 :(得分:1)
鉴于MyDataClass
确实扩展了NSObject
,如果此.m文件不直接或间接导入({1}}的.h,则可能会出现此问题。如果它只是一个前向声明(通过MyDataClass
),编译器还不知道@class
扩展MyDataClass
。
为NSObject
导入.h,它应该可以解决问题。