2014-04-18 3 views
0

NSUserdefaults에 이미 데이터가 저장되어 있는지 어떻게 확인합니까? 기존 데이터가로드되지 않을 때 코드가 충돌합니다. NSUserdefaults에서 데이터를로드하는 방법은 무엇입니까?

내가 시도 :

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; 
NSString *string = [ud objectForKey:@"scoreStringKey"]; 
if (string) 
{ 
    highScore = string.intValue; 
} 
else 
{   
    highScore = 0; 
} 
+2

어떤 줄에서 어떤 오류가 발생합니까? – DrummerB

+1

키 'scoreStringKey'에 대한 값을 어떻게 설정합니까? – iDeveloper

+0

문자열이 @ ""인 경우에도 if 조건에서 'true'를 반환하고 정수로 변환하려고하면 충돌합니다. – Desdenova

답변

1

objectForKey는 전무를 반환합니다 더 키가있는 intValue 속성이 아닌 방법으로 Reference

발견합니다. Link

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; 
NSString *string = [ud objectForKey:@"scoreStringKey"]; 
if (string != nil) 
{ 
    highScore = [string intValue]; <--- right way to convert into integer 
}  
else 
{   
    highScore = 0; 
} 
+0

http://stackoverflow.com/questions/11386256/dot-notation-vs-method-notation – Desdenova

관련 문제