Вызов простого метода в операторе if - PullRequest
0 голосов
/ 10 декабря 2010

Я все еще добиваюсь цели c, добился некоторого прогресса, но я застрял в какой-то глупой дилемме:

Мне нужно вызвать метод в if,

if([title isEqualToString:@"Button 1"])
{
  [self mensage1];
}

метод

void mensage1() 
{
    NSLog(@"Button 1 was selected.");
}

также я объявил в * .h

-(void) mensage1;

Очевидно, не работает хорошо.Пожалуйста, скажите мне, что я делаю не так ...

Ответы [ 4 ]

2 голосов
/ 10 декабря 2010

Ваше определение метода неверно, но ваше объявление правильное, просто скопируйте его в файл реализации и удалите точку с запятой:

- (void) mensage1
{
   NSLog(@"Button 1 was selected.");
}

То, что вы определили в файле .m, это C function , а не метод Objective-C.

1 голос
/ 10 декабря 2010

Вы объявили метод Objective C, но вы определили функцию C.

То, что вы хотите:

- (void)mensage1
{
    NSLog(@"Button 1 was selected.");
}
0 голосов
/ 10 декабря 2010

Ну, это не ответ, а продолжение вопроса ,,, если я сделаю

void mensage1 
{
NSLog(@"Button 1 was selected.");
}

Я получаю ошибку> Ожидается =,; атрибут asm или перед {token

Кроме того, вызов функции в порядке, если ?? [self mensage1]; ??

0 голосов
/ 10 декабря 2010

Очень трудно понять, что вы пытаетесь спросить.Прежде всего, как именно это не работает?

Не работает ли оператор if?Или метод mensage1 () не вызывается?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...