2011-10-14 96 views
1

我只是試圖讓我的頭圍繞這種類型的語法這兩種語法類型有什麼區別? (Objective-C的)

的我知道

[instanceOfClass Method]; 

如。 [myImage setImage:[NSImage imageNamed:@"picture.jpg"]];

在類的實例上執行一個方法。

但這是如何工作..

Variable = [Class methodName]; 

如。 int Value = [sender intValue];

有人可以向我解釋這一點。我得到第一個例子執行類,類或變量的實例..

但後期工作如何?

非常感謝。

回答

3

第二個示例還對類的實例執行方法,但該方法返回一個值,該值被分配給等式左側的值。

我建議花一點時間閱讀introduction provided by Apple。這個具體的問題是discussed in this part of the document

與標準的C函數,方法可以返回值。以下 示例將變量isFilled設置爲YES(如果myRectangle繪製爲實體矩形的 ),如果僅繪製爲大綱形式,則將其設置爲NO。

BOOL isFilled; 

isFilled = [myRectangle isFilled]; 
+0

謝謝。我仍然在學習和閱讀這本新書「Beginning Mac Programming,Objective Objective C和Cocoa設計」。 到目前爲止確實很有幫助,但有些東西只是需要清理乾淨。 有沒有可能給我一個我給你的東西的例子,但有什麼不同,告訴我它究竟做了什麼? –

+0

繁榮。我們走了,非常感謝你的例子,現在這一切都很有意義。非常感謝先生。 –

4

有實例方法(具有-定義的)和類方法(具有+)。實例方法在類中的實例和類方法中被調用。

- (void)instanceMethod; 
+ (void)classMethod; 

除了這個,你比如:

int Value = [sender intValue]; 

似乎是一個實例方法。如果是在動作中,請牢記sender只是一個參數:

- (IBAction)startWork:(id)sender 
{ 
    ... 
} 
+0

非常感謝。 –

相關問題