如何在iPhone上使用自我类方法?(概念性问题)

Chi*_*ong -2 iphone methods class-design class instance

我在ClassName.m中编写了一个实例方法:

-(void)methodName:(paraType)parameter
{...}
Run Code Online (Sandbox Code Playgroud)

并使用它来调用它

[self methodName:parameter]; 
Run Code Online (Sandbox Code Playgroud)将弹出警告,但代码仍然成功运行.

这是因为我还没有创建类的实例吗?为什么方法仍能正常运行?调用自我方法来阻止警告的正确方法是什么?

And*_*ant 5

那么接收警告的第一步就是发布警告:)

我假设这是一个无法识别的消息?如果是这样的话,因为虽然编译器看到对"methodName"的调用,但它不知道它是否对该对象有效.

我猜你的代码看起来像;

-(void) someFunc
{
  ...
  [self methodName:parameter]; 
  ...
}

-(void)methodName:(paraType)parameter
{
...
}
Run Code Online (Sandbox Code Playgroud)

你可以;

a)将'methodName'函数放在文件的前面,以便编译器在调用之前看到它.

b)在类接口中声明它.例如

// Foo.h
@interface Foo {
...
}
-(void) methodName:(paraType)parameter;
@end
Run Code Online (Sandbox Code Playgroud)