所以我的iPhone应用程序中有一个设置包,问题是第一次在手机上安装应用程序时,设备包中没有读取默认值为“enabled”的UISwitch的值。
为了注册默认设置,我需要进入iphone设置,只需查看/加载我的应用程序的设置页面,以便设置获得“设置”。这是怎么回事?
回顾:我需要进入iPhone上的设置应用程序,只需查看/加载我的应用程序的页面,以便将默认值注册到NSUserDefaults,但我需要它们在第一次加载应用程序时加载安装,而不是在用户必须进入设置并查看页面的情况下。
这就是我在viewDidLoad方法中加载设置的方法:
[[NSUserDefaults standardUserDefaults] synchronize];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (([[defaults objectForKey:kToggleSwitch] isEqualToString:@"Enabled"]) ? YES : NO) {
//Do Stuff
}
P.S。我可以简单地将所有开关设置为禁用/假值,但对于我的应用程序,最好打开某些开关而其他开关关闭。
答案 0 :(得分:1)
将- (void)registerDefaults:(NSDictionary *)dictionary
添加到应用程序启动时调用的其中一个方法。您必须在每次开始时注册默认值
NSUserDefaults Documentation
顺便说一下。有boolForKey:
和setBool:ForKey:
,无需比较字符串。