2012-10-06 80 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)。

希望這可以幫助