Ios 向NSUserDefault添加新设置
我使用Ios 向NSUserDefault添加新设置,ios,objective-c,nsuserdefaults,Ios,Objective C,Nsuserdefaults,我使用NSUserDefaults存储一些应用程序设置 我需要为我的设置设置一些默认值 因此,我添加了isAppFirstLaunchvalue为默认值,并在应用程序首次启动时将所有需要的默认(初始)值设置为我的设置 但我经常会添加一些新设置。在这种情况下,isAppFirstLaunch为FALSE,我无法为其设置任何默认值,因此我必须删除我的应用程序并重新安装 所以问题是:如何设置新的设置默认值 因为如果我的应用程序在appstore中,我将无法接听 [[[NSBundle mainBun
NSUserDefaults
存储一些应用程序设置
我需要为我的设置设置一些默认值
因此,我添加了isAppFirstLaunch
value为默认值,并在应用程序首次启动时将所有需要的默认(初始)值设置为我的设置
但我经常会添加一些新设置。在这种情况下,isAppFirstLaunch为FALSE
,我无法为其设置任何默认值,因此我必须删除我的应用程序并重新安装
所以问题是:如何设置新的设置默认值
因为如果我的应用程序在appstore中,我将无法接听
[[[NSBundle mainBundle] infoDictionary]objectForKey:@"CFBundleVersion"]];
然后,我可以将应用程序版本存储在我的默认值中,并检查版本是否已更改并设置新的默认值
但是调试怎么办呢?我是否应该始终删除应用程序以清除故障?您只需检查该设置是否已存在(如果不同于NULL),如果不存在,请将其设置为默认值
您可以将代码添加到应用程序代理的
applicationdFinishLaunching
方法中,该方法检查设置是否为空,并检查设置是否为空。对应用程序中的每个设置都这样做。回答不错,我在检查应用程序首次启动时也考虑了这个问题。但是所有的默认值都是int、bool和float。这就是为什么floatForKey:或boolforky:不会返回空值的原因。比它返回的值要好nil@george对于这些,它将返回零types@george你可以检查它是否为空,我的意思是floatForKey应该返回float,它怎么可能返回nil,这正是它的用途。