Как я могу вызвать метод в Objective-C? - PullRequest
50 голосов
/ 26 февраля 2009

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

- (void)score {
    // some code
}

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

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

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

Ответы [ 6 ]

87 голосов
/ 26 февраля 2009

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

[self score];

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

28 голосов
/ 26 февраля 2009

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

23 голосов
/ 26 февраля 2009

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

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

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

16 голосов
/ 05 июля 2014

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

[className methodName] 

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

[self methodName] 

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

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

[self methodName:Parameter]
5 голосов
/ 18 июня 2012

Используйте это:

[self performSelector:@selector(score) withObject:nil afterDelay:0.2];
1 голос
/ 07 декабря 2014
[self score]; instead of @selector(score)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...