2011-03-22 84 views
0

我在我的iPad應用程序中有一個表單,允許用戶配置應用程序設置(它們也可以從iPad設置應用程序更改這些設置)。我有以下代碼:無法設置NSUserDefault ToggleSwitch值

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setValue:externalAddress forKey:@"firstString_preference"]; 
[defaults setValue:internalAddress forKey:@"secondString_perference"]; 
[defaults setValue:isConnectedToDemoString forKey:@"firstToggle_preference"]; 
[defaults setValue:isConnectedToInternal forKey:@"secondToggle_preference"]; 
[defaults synchronize]; 

的firstString_preference和secondString_perference是在設置捆綁文本字段和它們保存到設置沒有問題。我的問題是第一個Toggle_preference和secondToggle_preference是在設置包中的切換開關,我似乎無法設置這些。他們似乎總是被設置爲否。

有誰知道我在做什麼錯?我應該使用不同的方法來設置切換開關默認值?

在此先感謝

回答

2

什麼類型的isConnectedToDemoStringisConnectedToInternal。除非那些是NSNumber s,您應該使用setBool:forKey:

另外,雖然setValue:forKey:適用於將對象類型存儲爲用戶默認值,但如果使用NSUserDefaults-原始setObject:forKey:方法,則代碼將更清晰。