Как я могу вызвать метод в Objective-C?

Я пытаюсь создать приложение для iPhone. Я создал такой
метод:

- (void)score {
    // some code
}

и я попытался вызвать его другим способом, например:

- (void)score2 {
    @selector(score);
}

Но это не работает. Итак, как мне правильно вызвать метод?

Ответов (8)

Я думаю, что вы пытаетесь сделать следующее:

-(void) score2 {
    [self score];
}

[object message] Синтаксис является обычным способом , чтобы вызвать метод в Objective-C. Я думаю, что @selector синтаксис используется, когда вызываемый метод необходимо определить во время выполнения, но я недостаточно хорошо знаю , чтобы предоставить вам дополнительную информацию по этому поводу .

Использовать этот:

[self score]; you don't need @sel for calling directly

вызов метода выглядит так

[className methodName] 

однако, если вы хотите вызвать метод в том же классе, вы можете использовать self

[self methodName] 

все вышесказанное связано с тем, что ваш метод не принимал никаких параметров

однако, если ваш метод принимает параметры, вам нужно будет сделать это следующим образом

[self methodName:Parameter]
[self score]; instead of @selector(score)

синтаксис имеет цель c есть

returnObj = [имя функции объекта: параметры];

Где объект - это объект, у которого есть вызываемый вами метод. Если вы вызываете его из того же объекта, вы используете self. Это руководство может помочь вам в изучении Obj-C.

В вашем случае это просто

[собственный счет];

Если вы хотите передать параметр, то это так

- (void)score(int x) {
    // some code
}

и я попытался вызвать его другим способом, например:

- (void)score2 {
    [self score:x];
}
use this,
[self score]; 
instead of @selector(score).

Чтобы отправить сообщение objective-c в этом случае, вы должны сделать

[self score];

Предлагаю вам прочитать руководство по программированию на Objective-C. Руководство по программированию на Objective-C.

Предлагаю вам прочитать Язык программирования Objective-C . Часть об обмене сообщениями - это именно то, что вы хотите здесь, но все это поможет вам начать работу. После этого, возможно, попробуйте пройти несколько руководств, чтобы почувствовать это, прежде чем приступить к созданию собственных приложений.