2010-04-13 3 views
9

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

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

-(void)abc 

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

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

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

ответ

2

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

Foo* foo = [[Foo alloc] init]; 
[foo abc]; 
20

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

[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 вы действительно вызываете метод, вы передаете сообщение. Это хороший блог, описывающий различия: Cocoa with Love

Я обсуждаю это здесь: What's with the square brackets (calling methods)

1

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

[self function];