2010-04-13 38 views
9

如何在Objective C中調用函數?例如:如何調用Objective C函數?

我定義頭功能(h文件):

-(void)abc 

和執行實現文件這一功能(.m文件):

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

現在怎麼會有我從我需要的地方調用這個函數?

回答

2

這是一些類的方法。如果類被稱爲富,可能是這樣的:

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];