我试图存储一个数组,NSUserDefaults并在需要时填充该数组UITableView。
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值时意外发现
nil
尝试加载数据时。我不确定问题出在存储或检索中。以前有没有人经历过?
从您的代码中,我看到您正在存储一些数组
// Your code NSUserDefaults.standardUserDefaults().setObject(myArray, forKey: "\(identity.text!)listA")
并检索一个字符串
//Your code let tabledata = NSUserDefaults.standardUserDefaults().stringForKey("\(identity.text!)listA")
类型可能不匹配,您可以存储一种类型并检索另一种类型。
检索使用arrayForKey()或objectForKey()查看下面的代码。
arrayForKey()
objectForKey()
let tabledata = NSUserDefaults.standardUserDefaults().arrayForKey("\(identity.text!)listA")
要么
let tabledata = NSUserDefaults.standardUserDefaults().objectForKey("\(identity.text!)listA")
如果是数组,我会选择第一个。