努力学习做一个todolist;我有两个viewcontrollers,一个用于存储,一个用于在表视图中显示。我的桌子返回零;我哪里错了?
存储视图:
var toDoStorage = UserDefaults.standard.object(forKey: "toDo")
var toDoList = [String] ()
@IBAction func saveButton(_ sender: Any) {
if (toDoStorage as? [String]) != nil {
toDoList.append(itemLabel.text!)
} else {
toDoList = [itemLabel.text!]
}
UserDefaults.standard.set(toDoList, forKey: "todo")
itemLabel.text = ""
}
显示视图:
var toDo = [UserDefaults.standard.object(forKey: "toDo")]
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return toDo.count
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "IDCell")
cell.textLabel?.text = String(describing: toDo[indexPath.row])
return cell
}
答案 0 :(得分:1)
只需使用此存储字符串数组
var toDo = UserDefaults.standard.stringArray(forKey: "todo") ?? [String]()
答案 1 :(得分:0)
确保您的钥匙匹配.. 你的钥匙上写了一个错字。" todo" !=" toDo"