2012-10-06 8 views
0

런타임 중에 언어를 선택하고 변경할 수있는 앱을 만들고 있습니다. 원하는 언어를 저장하는 데 문제가 있습니다. 사용자가 언어를 변경하는 동일한 실행 중에 올바르게 실행되지만 다음 실행에서는 항상 스페인어 (시스템 언어)가됩니다.언어가 올바르게 저장되지 않았습니다.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    if (sender.tag==1){ 

     [defaults setObject:[NSArray arrayWithObjects:@"ca",@"es", nil] forKey:@"AppleLanguages"]; 

    }else{ 

     [defaults setObject:[NSArray arrayWithObjects:@"es",@"ca", nil] forKey:@"AppleLanguages"]; 
    } 

    [defaults synchronize]; 

많은 감사

+0

정확하게 선택을 저장해야하는 것처럼 보입니다. 시작시 언어 선택을로드하려는 코드를 볼 수 있습니까? – geraldWilliam

답변

0

시스템 AppleLanguages ​​앱이 시작됩니다 때마다 값을 재정의합니다 : 여기 가게 언어를 사용하는 코드입니다.

해결책은 원하는 모든 언어를 별도의 NSUserDefaults 항목에 저장하고 앱을 시작할 때마다로드 (AppleLanguages에 쓰기)하는 것입니다.

희망 하시겠습니까?

관련 문제