2010-04-13 22 views
9

Jak wywołać funkcję w Objective C? Na przykład:Jak mogę wywołać funkcję Celu C?

zdefiniować funkcję w nagłówku (plik .h):

-(void)abc 

i wdrożyć tę funkcję w pliku wdrażania (plik .m):

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

Teraz jak bym wywołać tę funkcję z miejsca, gdzie jej potrzebuję?

Odpowiedz

2

To jest metoda na niektórych zajęciach. Jeśli klasa jest nazywany Foo, to może być coś takiego:

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

Aby wywołać tę metodę w obrębie tej samej klasy można nazwać:

[self abc]; 

Aby połączyć się z innej klasy, zakładając, że masz odwołanie do instancji tej klasy można nazwać:

[instance abc]; 

Jeśli masz parametrów w metodzie, dla pierwszego parametru byłoby zadeklarować ją jako (zakładając, że jest to ciąg znaków):

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

i nazwać jak:

[self abc:@"Yoop"]; 

Wszystkie poniższe parametry należy nadać nazwę. Tak na przykład, jeśli były dwa parametry byłoby zadeklarować ją jako:

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

ten będzie nazywany jak:

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

Zajmuje to trochę przyzwyczaić na początek, ale jest metoda do szaleństwa! W terminologii Objective-C tak naprawdę nie wywołujecie tej metody, przekazujecie wiadomość. To jest dobry blogu opisując różnice: Cocoa with Love

omówię to tutaj: What's with the square brackets (calling methods)

1

to zbyt proste wystarczy napisać

[self function]; 
Powiązane problemy