2014-07-05 2 views
0

그래서 나는 공부하고있는 책에이 코드 블록을 가지고 있습니다. 이게 독립적 인 {}은 실제로 무엇을합니까? Objective-C에서 독립 중괄호는 무엇을합니까

self = [super initWithImageNamed:@"character.png"]; 
{ 
    self.name = playerName; 
    self.zPosition = 10; 
} 

그것은 당신이 게시 코드의 2 개의 차이 만 범위가없는 것

self = [super initWithImageNamed:@"character.png"]; 
self.name = playerName; 
self.zPosition = 10; 
+1

'self = [super init ...];라고 가정합니다. if (self) {...}' –

답변

2

에서이 다른,하지만 당신은 중괄호와 범위를에 내부의 수명이 짧은 변수를 선언 할 수 그 몇 줄의 코드. 그 변수가 정리 될 수 있도록

{ 
    int x = 5; 
} 
NSLog("%d", x); //error 
int x = 10;  //legal 

첫 번째 X 변수는 곱슬의 종료 후 범위를 벗어나. 일반적으로 사용되는 기능은 아니지만 특정 변수의 범위를 지정하는 데 유용 할 수 있습니다. 한 번 실행되는 입력을 규정하지 않은 if 또는 while 블록과 같이 생각할 수 있습니다.

1

케빈이 말한 바. 보다 정확하게는 {}으로 묶인 명령문 그룹은 단일 명령문이 될 수있는 모든 위치에서 사용할 수 있습니다. 당신 코드, 예를 들면 때 :

if (x == y) { 
    a = b; 
} 

는 단순히의 기본 구조에이 규칙을 적용 :

if (<test>) <statement> 

<statement>에 대한 { <statement_list> }을 대체.

마찬가지로 fordo 등.

1

중괄호는 로컬 범위를 정의합니다. 그것은 코드의 가독성을 위해 간단하게 사용할 수 있습니다, 또는 당신은 또한 지역 변수의 범위를 제한하는 데 사용할 수 있습니다 :

For example:- 

    -(void)yourMethod 
    { 
    { 
    NSString *[email protected]; 
    } 
    { 
    NSString *[email protected]; 
    } 
    } 

그래서에서 당신이 위의 두 범위 내에서이 같은 이름의 지역 변수를 정의 할 수 있습니다. 이것은 독립적 인 중괄호를 사용합니다.

관련 문제