从 NSUserDefaults 检索数据会使应用程序崩溃

Posted

技术标签:

【中文标题】从 NSUserDefaults 检索数据会使应用程序崩溃【英文标题】:Retrieving data from NSUserDefaults crashes app 【发布时间】:2014-11-15 20:57:00 【问题描述】:

我一直在使用 NSUserDefaults 来存储一个数组,但是在尝试检索数据时我的应用程序崩溃了。

基本上我在 viewWillAppear 中有这行代码:

        presetNames = NSUserDefaults.standardUserDefaults().objectForKey("presets") as NSMutableArray

当我点击显示此视图的按钮时,我的应用程序崩溃了。控制台没有错误。

我确定问题很明显,但我尝试了一些没有成功的事情。

【问题讨论】:

【参考方案1】:

没关系,我忘记了你不能在 NSUserDefaults 中存储 NSMutableArray。我只是这样转换的:

    override func viewWillAppear(animated: Bool) 
    presetNames = NSUserDefaults.standardUserDefaults().objectForKey("presets") as NSArray
    presetNamesMutable = presetNames.mutableCopy() as NSMutableArray

【讨论】:

以上是关于从 NSUserDefaults 检索数据会使应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

如何从 NSUserDefaults 中检索数据?

如何在我的应用加载之前从 NSUserDefaults 检索值...?

UIImage 没有从 NSUserDefaults 中检索

无法从 NSUserDefaults 检索数据到今天的扩展(Swift)

从 NSUserDefaults 检索自定义对象

XCTest:在 UI 测试类的 NSUserdefaults 中未检索到值