2010-01-11 5 views
0

"savedNumberDict"가 범위를 벗어 났음을 나타내는 오류가 발생했습니다. 나는 해결책을 찾을 곳이 어디인지 잘 모르겠습니다. 어떤 제안? 아래 코드는 제가 사용하고있는 코드입니다. 감사.범위를 벗어난 것은 무엇을 의미합니까?

- (void)applicationDidFinishLaunching:(UIApplication*) application { 
    self.savedNumber = [[NSUserDefaults standardUserDefaults]objectForKey:kNumberLocationKey]; 

    if (savedNumber == nil) { 
     savedNumber = @"555 555 1212"; 
     NSDictionary *savedNumberDict = [NSDictionary dictionaryWithObject:savedNumber forKey:kNumberLocationKey]; 
     [[NSUserDefaults standardUserDefaults] registerDefaults:savedNumberDict ]; 
    } 

    [window addSubview:viewController.view]; 
    [window makeKeyAndVisible]; 
} 
+1

컴파일 할 수있는 조각이 아니기 때문에 어떤 줄이 그 문제를보고하는지 알 필요가 있습니다. 표시된 코드가 {...} 범위 내에 정의되어 있으므로 savedNumberDict가 범위를 벗어난 방법은 분명하지 않습니다.이 코드에 대한 유일한 참조는 동일한 범위 안에 있습니다. 어리석은 Q 시간 : 이것이 오류가있는 코드입니까? –

답변

1

이 코드는 오류의 뿌리입니까? 다른 곳에서 savedNumberDict에 액세스하지 않으시겠습니까? if {} 블록 내에서 선언되었으므로 if {} 내에 만 존재합니다. 일단 코드가 종료되면 변수는 중단됩니다.

관련 문제