一尘不染

(快速)将阵列存储和检索到NSUserDefaults

swift

我试图存储一个数组,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()

但是我明白了

致命错误:nil解开Optional值时意外发现

尝试加载数据时。我不确定问题出在存储或检索中。以前有没有人经历过?


阅读 195

收藏
2020-07-07

共1个答案

一尘不染

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

// 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")

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

2020-07-07