0

我的 IPad 应用程序中有一个表单,允许用户配置应用程序设置(他们也可以从 IPad 设置应用程序更改这些设置)。我有以下代码:

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 是设置包中的文本字段,它们可以毫无问题地保存到设置中。我的问题是 firstToggle_preference 和 secondToggle_preference 是设置包中的切换开关,我似乎根本无法设置这些。他们似乎总是被设置为否。

有谁知道我做错了什么?我应该使用不同的方法来设置 Toggle Switch 默认值吗?

提前致谢

4

1 回答 1

2

isConnectedToDemoString和是什么类型isConnectedToInternal。除非那些是NSNumbers,否则你应该使用setBool:forKey:.

此外,虽然可以将对象类型存储为用户默认值,但如果您使用-native方法setValue:forKey:,您的代码会更清晰。NSUserDefaultssetObject:forKey:

于 2011-03-22T21:55:57.497 回答