2010-04-13 15 views
9

Amaç C'de işlev nasıl çağrılır? Örneğin:Bir Objective C işlevini nasıl ararım?

-(void)abc 

ve uygulama dosyasında bu işlevi uygulamak (.m dosyası):

I (.h dosyası) başlığında işlevini tanımlamak Şimdi

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

nasıl yapardım İhtiyacım olan yerden bu işlevi mi arayayım?

cevap

2

Bu, bazı sınıftaki bir yöntemdir. Sahip varsayarak

[self abc]; 

başka sınıftan çağırmak için:

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

aynı sınıf içinde bu yöntemi çağırmak için haber veririm: Sınıf Foo denilen ise, böyle bir şey olabilir Eğer yönteminde parametreler varsa,

[instance abc]; 

ilk parametre için size (öyle bir dize varsayarak) olarak ilan ediyorum: bu sınıfın bir örneği başvurusu haber veririm

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

Ve diyoruz:

[self abc:@"Yoop"]; 

Tüm Aşağıdaki parametreler bir isim verilmelidir. gibi aranmak

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

Bu: Yani, örneğin size olarak ilan ediyorum iki parametre olsaydı

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

Biraz ile başlamak alışmak zaman alıyor ancak yöntem yoktur çılgınlığa! Objective-C terminolojisinde gerçekten yöntemi çağırıyorsunuz, bir mesaj iletiyorsunuz. Bu iyi bir blog yazısı farklılıkları olduğunu anlatan: Cocoa with Love

burada bu konuyu: What's with the square brackets (calling methods)

1

bu çok kolay sadece yazma

[self function];