- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 NSUserDefault 中存储一个数字参数,该参数必须默认为 1所以我写了这段代码:
NSNumber *one = [NSNumber numberWithInt:100];
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
one,@"my-param",
nil];
[def registerDefaults:dict];
此参数在 IB 中的复选框上绑定(bind),因此我可以检查它是否设置正确,并且当我启动应用程序时,我会看到状态为“on”的复选框。
另一方面,我必须以编程方式检查这个值,所以......我做了类似的事情:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger my_param = [defaults integerForKey:@"my-param"];
我注意到,由于该值不是由用户设置的,因此该函数返回我设置为默认值的值(在我的情况下为“1”),但令我惊讶的是,我发现如果用户从未设置过该值,它将返回 0 ...你可以理解这很糟糕:P因为现在我无法理解这个“0”是否是通过用户选择获得的,这是非设置值的结果...我如何编写代码来管理这种情况?
最佳答案
要将数值存储在NSUserDefaults中,您可以直接使用如下:
要在 NSUserDefault 中设置整数值,请按如下所示使用:
NSInteger lInteger = 10;
[[NSUserDefaults standardUserDefaults] setInteger:lInteger forKey:@"integerkey"];
[[NSUserDefaults standardUserDefaults] synchronize];
要在项目中的任何位置使用该 NSInteger 值,请按以下方式使用:
NSInteger lteger = [[NSUserDefaults standardUserDefaults] integerForKey:@"integerkey"];
我不太明白你的问题,但无论如何我认为上面的代码可能对你有帮助。
关于cocoa - NSUserDefaults 和 registerDefault,标准行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6985933/
我想了解的功能, [NSUserDefaults standardUserDefaults] registerDefaults:]; registerDefaults 方法是否设置默认值而不是实际值。
有什么区别: [[NSUserDefaults standardUserDefaults] registerDefaults: [NSDictionary dictionaryWithObject
我在使用设置 bundle 注册 NSUserDefaults 时遇到问题。也许其他人已经处理过这个问题,但只是忽略了,但我确信这要么是一个错误,要么是我们处理问题的方式不正确。 创建一个新词典并注册
我的代码如下: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
我的应用在安装时注册了六个默认调色板,用户可以再添加 30 个。在即将发布的版本中,我想在默认设置中添加第七个调色板。如果我使用 regiserDefaults: 将第七个添加到 NSUserDefa
这个问题在这里已经有了答案: What is the use of -[NSUserDefaults registerDefaults:]? (5 个答案) 关闭 9 年前。 当我在 applica
我到处都找遍了,找不到关于如何使用 registerDefaults() 的解释。 每篇询问如何设置默认值的帖子都会通过“使用 registerDefaults()”来回答,我遇到的一个小问题是我不知
我需要在 NSUserDefault 中存储一个数字参数,该参数必须默认为 1所以我写了这段代码: NSNumber *one = [NSNumber numberWithInt:100]; N
我正在 AppDelegate 中注册默认值: let defaults = NSUserDefaults.standardUserDefaults() let registratio
关于注册用户默认值的使用有很多答案,我仔细看了看,仍然对我所看到的行为感到困惑。 在我的设置包中,我有一个切换开关,我给标识符“共享”并给它一个默认值 YES。我在设置应用程序中看到了这个切换开关,但
我在应用程序启动时通过 [NSUserDefaults registerDefaults:] 调用注册了一堆首选项值。我需要在某个阶段用新值替换它们,但新值范围(键集)小于初始值范围。因此,在我再次调
当我为我的应用设置默认首选项时,我会执行以下操作: 1) 阅读 Root.plist从里面Settings.bundle入字典。 2) 我测试是否设置了首选项,如果没有,我将通过 [NSUserDef
我正在使用最新的 SDK 开发 iOS 应用。 我这样做: - (BOOL)application:(UIApplication *)application didFinishLaunchingWit
我已经在谷歌和这里搜索过,到目前为止还没有运气。 为了查明我的应用程序之前是否已启动,我使用了类似于 this StackOverflow answer 中的代码。 . 主要区别在于 key 的否定(
我需要注册默认首选项值,然后界面在启动时立即使用这些值来设置复选框状态等。 我在应用委托(delegate)中注册了默认值: - (void)applicationDidFinishLaunching
我在应用程序中有 4 个相互独立的用户设置。我想使用 NSUserDefaults.standardUserDefaults() 的适当方法检查每个设置的值对于每个键,如果在用户默认值中找不到任何键,
这是我的设置: myTextField 绑定(bind)到共享用户默认 Controller 中的键。用户只能在文本字段中输入数字。 每次加载应用程序时,我都会使用 [[NSUserDefaults
我是一名优秀的程序员,十分优秀!