ios - (Swift) 将数组存储和检索到 NSUserDefaults

标签 ios swift tableview nsuserdefaults

我尝试将数组存储到NSUserDefaults,并在需要填充UITableView时检索该数组。

目前我正在使用:

//store data
NSUserDefaults.standardUserDefaults().setObject(myArray, forKey: "\(identity.text!)listA")                    
NSUserDefaults.standardUserDefaults().synchronize()

//retrieve data
let tabledata = NSUserDefaults.standardUserDefaults().stringForKey("\(identity.text!)listA")
myArray = [tabledata!]
tableView.reloadData()

但我明白了

fatal error: unexpectedly found nil while unwrapping an Optional value

尝试加载数据时。我不确定问题出在存储还是检索上。有人经历过这种情况吗?

最佳答案

从你的代码中我看到你正在存储一些数组

// Your code
NSUserDefaults.standardUserDefaults().setObject(myArray, forKey: "\(identity.text!)listA")

并检索字符串

//Your code
let tabledata = NSUserDefaults.standardUserDefaults().stringForKey("\(identity.text!)listA")

可能存在类型不匹配,您存储一种类型并检索另一种类型。

在检索时使用 arrayForKey()objectForKey() 请参阅下面的代码。

let tabledata = NSUserDefaults.standardUserDefaults().arrayForKey("\(identity.text!)listA") 

let tabledata = NSUserDefaults.standardUserDefaults().objectForKey("\(identity.text!)listA")

如果它是一个数组,我会选择第一个。

关于ios - (Swift) 将数组存储和检索到 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37204376/

相关文章:

ios - AFNetworking 在应该接收 304 时返回 200 - ETag

ios - 加载委托(delegate)时警告窗口层次结构

ios - 图片 Assets 目录颜色不变

ios - Swift:如何实现向 tableView textLabel 添加背景颜色

ios - 从 URL webView 调用 Objective C 方法

iphone - 已通过身份验证后,Facebook 登录屏幕在 iPhone 应用程序上闪烁

ios - 更改 ViewController 时如何保持 UISlider 状态? ( swift )

ios - Swift UI Collection View 布局

JavaFX、TableView、编辑后动态更新Item

ios - 想要像 Pinterest 一样制作详细 View