我正在尝试构建一个iPhone应用程序。我创建了一个这样的方法:
- (void)score {
// some code
}
我已经尝试在另一个方法中调用它,就像这样:
- (void)score2 {
@selector(score);
}
但它不起作用。 那么,我该如何正确调用一个方法?
我正在尝试构建一个iPhone应用程序。我创建了一个这样的方法:
- (void)score {
// some code
}
我已经尝试在另一个方法中调用它,就像这样:
- (void)score2 {
@selector(score);
}
但它不起作用。 那么,我该如何正确调用一个方法?
我建议你阅读《Objective-C编程语言》。其中讲述的消息传递部分是你想要了解的内容,但整本书都会帮助你入门。之后,你可以尝试做一些教程来熟悉它,在开始开发自己的应用程序之前。
调用该方法的方式如下
[className methodName]
但是如果你想在同一个类中调用该方法,你可以使用self
[self methodName]
以上所有内容之所以出现是因为您的方法没有使用任何参数。
然而,如果您的方法需要参数,您需要像这样执行:
[self methodName:Parameter]
我认为您尝试的是:
-(void) score2 {
[self score];
}
[object message]
语法是在Objective-C中调用方法的常规方法。我认为@selector
语法是在需要在运行时确定要调用的方法时使用的,但是我对Objective-C不够了解,无法提供更多信息。
[self score]; you don't need @sel for calling directly
Objective-C语法如下:
returnObj = [object functionName: parameters];
其中,object是调用该方法的对象。如果你是从同一个对象中调用它,那么你需要使用'self'。这个教程可能会帮助你学习Obj-C。
在你的情况下,代码如下:
[self score];
如果你想传递参数,那么代码应该像这样:
- (void)score(int x) {
// some code
}
我曾尝试在另一个方法中这样调用它:
- (void)score2 {
[self score:x];
}
use this,
[self score];
instead of @selector(score).
[self score]; instead of @selector(score)