7
這可能聽起來很愚蠢,但爲什麼Objective-C中的某些函數/方法使用括號而不是方括號?Objective-C中圓括號與方括號之間的區別
E.g.爲什麼它不是[someObject NSLog:@「Hello World!」];?
何時應該使用圓括號而不是方括號?謝謝。
這可能聽起來很愚蠢,但爲什麼Objective-C中的某些函數/方法使用括號而不是方括號?Objective-C中圓括號與方括號之間的區別
E.g.爲什麼它不是[someObject NSLog:@「Hello World!」];?
何時應該使用圓括號而不是方括號?謝謝。
圓括號用於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];
感謝dtuckernet。所以即使它有NS前綴它不一定Objective-C方法... – Leon
正確。 NSMakeRect(用於OS X開發)是帶有NS前綴的C函數的示例。 – dtuckernet
括號也用於宏,它們看起來像函數調用。 – progrmr