在 Swift 中使用 NSUserDefaults 保存 NSMutableArray 返回 Nil

Posted

技术标签:

【中文标题】在 Swift 中使用 NSUserDefaults 保存 NSMutableArray 返回 Nil【英文标题】:Saving NSMutableArray with NSUserDefaults in Swift Returns Nil 【发布时间】:2014-11-07 09:39:35 【问题描述】:

我有一个NSMutableArray。这是我使用NSUserDefaults 保存它的方法:

var defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(downloadedFile as NSMutableArray, forKey: "myKey")

这里是我如何检索它:

var downloadedFilesFromUserDefaults:NSMutableArray = defaults.objectForKey("myKey") as NSMutableArray

【问题讨论】:

无论我做什么,它都会返回 nil。是有bug还是什么? 你做了 defaults.synchronize() 吗? 【参考方案1】:

看看这个,试着像这样保存你的数组!因为这非常有效!

var arr:NSMutableArray = NSMutableArray(objects: "ASD","aSd")
    NSUserDefaults.standardUserDefaults().setObject(arr, forKey: "Array")
    NSUserDefaults.standardUserDefaults().synchronize()

点击按钮

NSLog("%@", NSUserDefaults.standardUserDefaults().objectForKey("Array") as NSMutableArray)

【讨论】:

【参考方案2】:

看起来 swift 以某种方式释放了我需要确保我的对象不为零的对象。

【讨论】:

以上是关于在 Swift 中使用 NSUserDefaults 保存 NSMutableArray 返回 Nil的主要内容,如果未能解决你的问题,请参考以下文章