Как вызвать мой метод в Objective-C? - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть это объявление в моем заголовке:

- (char*) randomCharGenerator;

И сам метод:

- (char*) randomCharGenerator {
    char *letter;
    return letter;
}

Из того, что я прочитал в руководстве по CocoaDevCentral (http://cocoadevcentral.com/d/learn_objectivec/), I'mпытаясь назвать это так:

char *tempLetter;
tempLetter = [char randomCharGenerator];

Но я получаю ошибку: «Ожидаемое выражение». Что я делаю не так?

1 Ответ

2 голосов
/ 09 февраля 2012

Если у вас есть

tempLetter = [char randomCharGenerator];

, вам нужно заменить char на экземпляр класса, для которого вы определили метод randomCharGenerater.

Это потому, что в этом объявлении:

- (char*) randomCharGenerator;

- в начале означает, что randomCharGenerator является методом экземпляра любого класса, в котором он находится, поэтому его необходимо отправить экземпляру вашего класса.Если вы заменили - на +, вы бы хотели отправить сообщение randomCharGenerator классу , а не экземпляру вашего класса.

Примечаниечто char является типом данных C, а не классом или объектом Objective-C, поэтому вы не можете отправлять ему сообщения.Так что никакое выражение формы [char foo] не является синтаксически правильным.

...