Как мне вызвать функцию Objective C? - PullRequest
9 голосов
/ 13 апреля 2010

Как вызвать функцию в Objective C? Например:

Я определяю функцию в заголовке (файл .h):

-(void)abc

и реализовать эту функцию в файле реализации (файл .m):

-(void)abc
{
//.....
///....
}

Теперь, как бы я вызвал эту функцию, откуда она мне нужна?

Ответы [ 3 ]

20 голосов
/ 13 апреля 2010

Чтобы вызвать этот метод из того же класса, вы должны вызвать:

[self abc];

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

[instance abc];

Если у вас есть параметры в методе, для первого параметра вы объявите его как (при условии, что это строка):

- (void) abc : (NSString *)param1;

И назовите это как:

[self abc:@"Yoop"];

Всем следующим параметрам должно быть присвоено имя. Так, например, если бы было два параметра, вы бы объявили его как:

- (void) abc : (NSString *)param1 paramName2:(NSString *)param2;

Это будет называться как:

[self abc:@"Yoop" paramName2:@"Woop"];

Требуется немного привыкнуть, чтобы начать, но есть способ безумия! В терминологии Objective-C вы на самом деле не вызываете метод, вы передаете сообщение. Это хороший пост в блоге с описанием различий: Какао с любовью

Я обсуждаю это здесь: Что с квадратными скобками (вызов методов)

2 голосов
/ 13 апреля 2010

Это метод для некоторого класса. Если класс называется Foo, это может быть что-то вроде этого:

Foo* foo = [[Foo alloc] init];
[foo abc];
1 голос
/ 13 августа 2012

слишком просто написать

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