如何在Objective-C中调用方法?
我正在尝试构建一个iPhone应用程序。我创建了一个如何在Objective-C中调用方法?,objective-c,Objective C,我正在尝试构建一个iPhone应用程序。我创建了一个 方法如下: - (void)score { // some code } - (void)score2 { @selector(score); } - (void)score2 { [self score:x]; } 我试着用另一种方法调用它,比如: - (void)score { // some code } - (void)score2 { @selector(score); } - (v
方法如下:
- (void)score {
// some code
}
- (void)score2 {
@selector(score);
}
- (void)score2 {
[self score:x];
}
我试着用另一种方法调用它,比如:
- (void)score {
// some code
}
- (void)score2 {
@selector(score);
}
- (void)score2 {
[self score:x];
}
但它不起作用。那么,如何正确地调用方法呢?我想您要做的是:
-(void) score2 {
[self score];
}
[对象消息]
语法是在objective-c中调用方法的正常方式。我认为当需要在运行时确定要调用的方法时,可以使用@selector
语法,但我不太清楚,无法提供更多信息。我建议您阅读。关于消息传递的部分是您在这里特别想要的,但是整个过程将帮助您开始。在那之后,在你开始制作自己的应用程序之前,也许可以试着做一些教程来了解它。在这种情况下,要发送objective-c消息,你可以这样做
[self score];
我建议您阅读Objective-C编程指南
使用以下方法:
[self score]; you don't need @sel for calling directly
调用方法是这样的
[className methodName]
[self methodName:Parameter]
但是,如果要在同一类中调用该方法,可以使用self
[self methodName]
所有这些都是因为您的方法没有采用任何参数
但是,如果您的方法采用参数,则需要这样做
[className methodName]
[self methodName:Parameter]
语法是c语言的目标 returnObj=[对象函数名:参数] 其中object是具有您正在调用的方法的对象。如果您是从同一个对象调用它,那么将使用“self”。本教程可能会帮助您学习Obj-C 在你的情况下,这很简单 [自我评分] 如果您想传递一个参数,那么它是这样的
- (void)score(int x) {
// some code
}
我试着用另一种方法调用它,比如:
- (void)score {
// some code
}
- (void)score2 {
@selector(score);
}
- (void)score2 {
[self score:x];
}
@选择器以Objective-C可以用来发送消息的形式为您提供方法的“名称”。它在某种程度上类似于函数指针。@fijiaaron:我没有说“RTFM”。我说这个问题是一个非常初级的问题,如果他不得不问这个问题,他会发现自己在Objective-C方面的经验非常令人沮丧,阅读这本介绍性指南是沿着正确道路前进的一个良好开端。你知道,教一个人钓鱼。就我个人而言,我发现这种答案比未知质量的代码呕吐物更有帮助。我一直在想,是否可以给方法增加延迟。从未有过这样做的要求,但总是想知道是否可以做到,以及如何做到不错。为了一件事而来,最后发现了一些有用的东西。这看起来很清楚,并且包含了一个参数,这很有用,即使对于简单的“分数”示例来说不是这样。