每次我想使用这些添加时,我必须导入我的类别头文件吗?

时间:2010-04-23 12:47:19

标签: iphone objective-c

由于某种原因,编译器向我发出警告,我的类别方法可能不存在(例如“foobar可能不响应doFoo”)。但是,该类别有效。

1 个答案:

答案 0 :(得分:3)

是的,您必须导入类别标题文件。否则,编译器将对类别中定义的方法的任何调用发出警告。这与在类上调用方法时完全相同,并且未定义方法。

由于Objective-C的动态特性,在运行时它仍然能够找到并执行您调用的方法,尽管编译器警告。这就是为什么警告措辞“foobar 可能不响应doFoo”。在编译时,编译器无法找到doFoo方法的声明,因此它可能无法正确调用doFoo方法,但是在运行时可能会正确调用doFoo方法。