我正在尝试构建一个iPhone应用程序。我创造了一个 像这样的方法:
- (void)score {
// some code
}
我尝试用其他方法调用它:
- (void)score2 {
@selector(score);
}
但它不起作用。那么,我该如何正确调用方法?
答案 0 :(得分:87)
答案 1 :(得分:28)
我建议你阅读The Objective-C Programming Language。关于消息传递的部分具体是你想要的,但整个过程将帮助你开始。在那之后,在你开始制作自己的应用程序之前,可以尝试做一些教程来感受它。
答案 2 :(得分:23)
我认为你要做的是:
-(void) score2 {
[self score];
}
[object message]
语法是在objective-c中调用方法的常规方法。我认为当需要在运行时确定要调用的方法时使用@selector
语法,但我不知道objective-c是否足以为您提供更多相关信息。
答案 3 :(得分:16)
调用方法就像这样
[className methodName]
但是如果你想在同一个类中调用该方法,你可以使用self
[self methodName]
以上所有原因是因为您的方法没有采用任何参数
但是如果你的方法需要参数,你需要像这样做
[self methodName:Parameter]
答案 4 :(得分:5)
使用此:
[self performSelector:@selector(score) withObject:nil afterDelay:0.2];
答案 5 :(得分:1)
[self score]; instead of @selector(score)
答案 6 :(得分:1)
目标c的语法是
returnObj = [对象函数名称:参数];
其中object是具有您要调用的方法的对象。如果要从同一对象调用它,则将使用“ self”。本教程可能会帮助您学习Obj-C。
您的情况很简单
[自我得分];
如果您要传递参数,则类似于
- (void)score(int x) {
// some code
}
并且我试图用其他方法调用它:
- (void)score2 {
[self score:x];
}
答案 7 :(得分:1)
use this,
[self score];
instead of @selector(score).