2011-08-04 9 views
7

Objective-C의 일부 함수/메서드가 대괄호 대신 괄호를 사용하는 이유는 벙어리로 들릴 수 있습니다.objective-c에서 괄호와 대괄호 사이의 차이

예. 왜 안돼 [someObject NSLog : @ "Hello World!"] ;?

괄호는 사용해야 하나 대괄호는 사용할 수 있습니까? 감사.

답변

11

대괄호는 objective-c 방법에 사용되는 반면 괄호는 CGRectMake와 같은 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

관련 문제