问题标签 [nsuserdefaults]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 当视图控制器更改为另一个视图控制器时会调用什么函数?
我的应用程序委托中有两个视图控制器类。我可以通过发出类的方法从一个视图控制器更改为下一个视图控制器,-pushViewController:animated
并navigationController
通过调用该方法返回到前一个视图控制器-popViewController:animated
。NSUserDefaults
现在我的问题是,当我返回第一个视图控制器时,我想通过使用来为首选项保存一些价值,但我不知道应该放在哪里:
ios - MKMapView 显示错误保存的区域
当我的 iPhone 应用程序像这样关闭时,我将地图区域保存到用户默认值中:
当应用再次启动时,Ш 以相同的方式读取这些值,以便用户可以看到与上次完全相同的地图视图:
我从用户默认值中读取的区域(毫不奇怪)与保存时完全相同。请注意,保存的内容直接来自地图,因此不会以任何方式进行转换。我用方法将它重新设置在地图上setRegion:
,但后来就不一样了!
示例结果:
有人知道为什么会这样吗?
iphone - NSUserDefaults 未正确保存
我有 NSUserDefaults 的问题,我不太明白发生了什么。
我的应用程序有 5 个级别,每个级别与 NSUserDefaults 执行完全相同的操作(检索级别默认值,在用户播放级别时更改值,然后设置默认值并在级别结束时同步)前 4 个级别。工作顺利,但最后一级不保存值。应用程序不会崩溃,最后一级也不是最后发生的事情,我什至在应用程序终止时同步了默认值。NSUserDefaults 上是否有最大大小,或者有没有人能想到我没有的任何东西,我将在下面发布代码,但就像我说的前四个级别工作得很好
当我切换到使用这些默认值的视图时,它们的值是正确的,但是当我终止应用程序并重新启动它时,这些值不会被保存,每个其他级别都会执行完全相同的过程,这是唯一不起作用的级别.
我已经盯着这个看了很长一段时间,我希望有人遇到同样的问题,并且可以让我了解他们是如何解决它的。
iphone - 使用 NSUserDefaults 和设置包更改主视图
我在 App Store 上有一个游戏,对于下一个版本,我正在努力在设置中设置一个选项来使用不同的皮肤。例如,假设我选择了篮球选项。我希望应用程序显示篮球 .xib 而不是默认视图控制器。
我该怎么做?大约有4-5种不同的皮肤。谢谢。
iphone - NSUserDefaults 的同步方法何时以及为什么会失败?
NSUserDefaults 的同步方法何时以及为什么会失败?确保我的值实际写入并提交给 NSUserDefaults 的最佳方法是什么,这样在应用程序重新启动后恢复状态不会有任何问题?
iphone - iPhone 和 NSUserDefaults
在我的viewWillLoad:方法中,我目前正在按照以下方式做一些事情:
如果我在打开首选项窗格(使用普通Settings.bundle构建)之前构建并运行应用程序,那么 bool 似乎是NO(或更可能是nil)而不是默认的YES。但是,如果我在打开应用程序之前打开设置应用程序并查看应用程序首选项窗格,一切都会按预期工作。
我假设应用程序首选项未初始化,我应该将它们初始化为应用程序委托中的默认值(如果尚未设置)。有人可以证实这一点吗?还是我在这里错过了其他明显的东西?
objective-c - 是否可以在用户默认值中保存计时器的状态?
我有一个标签,上面显示倒数计时器。
现在,如果我关闭我的应用程序,计时器将关闭,标签的文本也将关闭。我知道我们可以保存标签的文本值。但是当应用程序再次启动时,我们如何显示正确的倒计时。
假设我在 3 分钟后在 00:05:35 关闭应用程序再次启动时,标签应显示 00:02:35 并且计时器应该在那里用于剩余倒计时
iphone - 使用新版本的应用程序更新和更改设置 plist 文件
我的应用程序的资源文件夹中有一个默认设置 plist 文件,并在第一次启动时被复制到文档文件夹中。
在应用程序的后续版本中,如何将其文档中的 plist 设置与自上一版本以来添加的任何新键和值(可能是嵌套的)合并?
我已经看到一种模式,其中属性实际上是在应用程序中创建为 NSDictionary(具有所有默认设置),然后保存在 plist 文件中的当前设置与该字典合并,然后保存在当前 plist 上。
这是一个好方法吗?如果是这样,您如何将可能具有多个嵌套值的 NSDictionary 与子数组和子字典合并?
此外,是否建议使用单独的自定义 plist 文件进行设置,还是应该始终使用 NSUserDefaults?NSUserDefaults 是否处理版本控制和更改默认值?
非常感谢,
麦克风
iphone - NSUserDefaults 是否通过更新 Appstore 中的应用程序而持续存在?
是这样吗?当您向 App Store 上的应用程序提交更新时,NSUserDefaults 会被重置,还是被重置?
我的应用程序在更新时崩溃,但在完全下载时不会崩溃 - 所以我试图确定更新后的会话与新下载的会话可能有什么不同。
干杯,尼克。