将属性对象传递给期望NSObject的方法会导致指针错误

时间:2014-03-14 23:16:21

标签: ios objective-c

我在自定义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 *'

1 个答案:

答案 0 :(得分:1)

鉴于MyDataClass确实扩展了NSObject,如果此.m文件不直接或间接导入({1}}的.h,则可能会出现此问题。如果它只是一个前向声明(通过MyDataClass),编译器还不知道@class扩展MyDataClass

NSObject导入.h,它应该可以解决问题。