我在ClassName.m中编写了一个实例方法:
-(void)methodName:(paraType)parameter {...}
并使用它来调用它
[self methodName:parameter];将弹出警告,但代码仍然成功运行.
这是因为我还没有创建类的实例吗?为什么方法仍能正常运行?调用自我方法来阻止警告的正确方法是什么?
那么接收警告的第一步就是发布警告:)
我假设这是一个无法识别的消息?如果是这样的话,因为虽然编译器看到对"methodName"的调用,但它不知道它是否对该对象有效.
我猜你的代码看起来像;
-(void) someFunc { ... [self methodName:parameter]; ... } -(void)methodName:(paraType)parameter { ... }
你可以;
a)将'methodName'函数放在文件的前面,以便编译器在调用之前看到它.
b)在类接口中声明它.例如
// Foo.h @interface Foo { ... } -(void) methodName:(paraType)parameter; @end