2013-05-19 3 views
0

내 게임의 데이터를 저장 /로드하려고합니다 (이 경우 플레이어가 사용할 수있는 팁 수). 그들은 처음으로 게임을하는 경우, 그들은 10 팁을 시작, 그렇지 않으면 그들이 마지막으로 게임을 종료하기 전에 그들이 가지고 있던 팁의 번호를로드합니다. 내 문제는 처음 게임을 시작할 때, 나는 10에 팁의 수를 설정하고 있지만, UILabel의이NSUserDefaults에서 UILabel 업데이트

0을 표시하고 있다는 점이다이 여기 내 저장 및로드 방법 :

- (void)saveSettings 
{ 
    NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
    [settings setInteger:self.tipCount forKey:@"tipCount"]; 
} 

- (void)loadSettings 
{ 
    NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; 
    if (![settings boolForKey:@"userDefaultsSet"]) 
    { 
     [settings setBool:1 forKey:@"userDefaultsSet"]; 
     [settings setInteger:10 forKey:@"tipCount"]; 
     self.tipCount = 10; 
    } else { 
     self.tipCount = [settings integerForKey:@"tipCount"]; 
    }  
} 

그리고 여기 내 라벨을 업데이트하는 방법은 다음과 같습니다.

- (void)updateLabel 
{ 
    Quiz* sharedQuiz = [Quiz sharedInstance]; 

    self.statusLabel.text = [NSString stringWithFormat:@"Tips Remaining: %d", [sharedQuiz tipCount]]; 
} 

올바른 방향으로 나를 가리킬 수있는 도움을 주시면 감사하겠습니다. 미리 감사드립니다!

+0

이상 도움이 양식을 얻을 수 있도록 어떤 생각을 줄 수 - synchronize' 또는 분을 기다립니다. 지속성은 즉시 발생하지 않습니다. –

+0

NSUserDefaults에서 데이터를 가져 오는 위치는 어디입니까? – Balu

+0

http://adackoverflow.com/questions/15833907/adding-to-a-previously-saved-nsuserdefaults-in-xcode/15834362#15834362 – Balu

답변

0

여기 예방 조치로 귀하의 질문에 몇 가지를 추가하고 싶습니다. 그렇기 때문에 이미주의를 기울 였지만 여전히 아래에 표시되어 있다고 말하려고합니다.

팁이 하나의 방법에서 이외의 계산에 당신은 당신이 어떤 값을 설정하지 않은 일부 information.look를 표시하고자하는 ( saveSettings 방법 및 updateLabel 방법) 다른 방법을 호출하기 전에 loadSetting 메소드를 호출 여부를

확인 (loadSetting) 그 방법을 호출하지 않는다면 에 0 number을 가져 오는 것입니다. UILabbel 이상의 코드를 조사한 후 팁 카운트를 표시하기 전에 loadSetting 메소드를 올바르게 호출했는지 여부를 고려하여이 단일 한 것을 처리해야합니다. 너는 네가 한 것처럼 올바른 방법으로 모든 것을 해냈다.

당신은 이것을 체크 할 수 있지만 필요한 곳에서 브레이크 포인트를 설정하고 그것의 주된 이유를 확인하십시오. 나는 그것을 할 수있다 희망

당신을 돕고 당신이,`설정 한 후

+0

나는 당신이 제안한대로 해왔고, 위의 답과 함께, 0을 10으로 업데이트 할 수 있었지만 디버거에서만 가능했다. 업데이트 라인이 호출 될 때 변수 자체가 10 임에도 불구하고 어떤 이유로 UILabel 자체가 업데이트되지 않습니다. – user1843954

+0

@ user1843954 im pretty 여기 SO에 표시된 코드의이 부분에는 아무런 문제가 없다는 것을 확실히 알아 두십시오. 공유 (싱글 톤) 퀴즈 클래스를 제대로 만들었는지 확인하십시오. 유사한 검색을 통해 싱글 톤 클래스를 만드는 방법을 확인하십시오. 당신이 이미 알고 있다면, 나는 당신의 싱글 톤 클래스를 다시 점검해야한다. – Kamarshad

관련 문제