2011-04-21 4 views
5

저는 Objective C를 처음 접했고 코드에서 주목할 것입니다. 때때로 코드 블록이 함수 내부에 중괄호로 묶일 것입니다.코드가 함수 내에 중괄호로 묶여 있으면 어떻게됩니까?

이것은 무엇입니까? 예를 들어

...

- (BOOL) application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {  

    // Load config, available via macro CONFIG 
    { 
    NSString *path = [[NSBundle mainBundle] pathForResource: @"config" ofType: @"plist"]; 
    NSData *data = [[NSData alloc] initWithContentsOfFile: path]; 
    self.config = [NSPropertyListSerialization propertyListWithData: data 
                  options: NSPropertyListImmutable 
                  format: nil 
                   error: nil]; 
    [data release]; 
    } 

    // snip 

} 

답변

5

그것은 블록에서 선언 된 변수의 범위를 제한하는 단순한 방법이다. 예제 경로에서 데이터는 중괄호 외부에 표시되지 않습니다. 괄호 안에 선언 "범위"라고

10

...

변수는 괄호 안에 존재한다.

는 다음을 상상해 :

int main(void) 
{ 
    int my_var = 3; 
    { 
    int my_var = 5; 
    printf("my_var=%d\n", my_var); 
    } 

    printf("my_var=%d\n", my_var); 

    exit(0); 
} 

이 인쇄됩니다

my_var=5 
my_var=3 
+2

좋은 일 Macmade합니다. 한 가지 더, 스코프가 객관적인 C에만 국한된 것이 아니라 C에도 존재합니다. – Krishnabhadra

관련 문제