在 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的主要内容,如果未能解决你的问题,请参考以下文章
我如何访问 iOS 项目的 NSUserDefault 以做出原生反应?
使用 Alamofire 时如何将令牌存储在 NSUserDefault 中?
如何在 appdelegate 中使用 applicationDidEnterBackground 保存 NSUserDefault