2011-08-04 124 views
7

這可能聽起來很愚蠢,但爲什麼Objective-C中的某些函數/方法使用括號而不是方括號?Objective-C中圓括號與方括號之間的區別

E.g.爲什麼它不是[someObject NSLog:@「Hello World!」];?

何時應該使用圓括號而不是方括號?謝謝。

回答

11

圓括號用於C函數(如CGRectMake),而括號用於objective-c方法。

見例如:

// Method to create C Structure 
CGRect frame = CGRectMake(0, 0, 100, 100); 

// Objective-C method call (sending message) 
UIButton *button = [[UIButton alloc] initWithFrame:frame]; 
+0

感謝dtuckernet。所以即使它有NS前綴它不一定Objective-C方法... – Leon

+0

正確。 NSMakeRect(用於OS X開發)是帶有NS前綴的C函數的示例。 – dtuckernet

+0

括號也用於宏,它們看起來像函數調用。 – progrmr

相關問題