2011-03-22 48 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:方法,则代码将更清晰。