【发布时间】:2019-10-20 13:39:43
【问题描述】:
我正在尝试将对象数组设置为用户默认值,但没有追加。
声明数组的变量 在我的 AllFormulas 类中:
let defaults = UserDefaults.standard
static var lineOne1 = UserDefaults.standard.array(forKey: "line1") as? [Formulas] ?? []
init() {
//formula names and values
然后我从一个空数组开始
lineOne1 = []
}
附加到数组 在我的 AddViewController 类中:
func lineOneAdd() {
let line1 = lineOne1
lineOne1.append(formulaAppend)
defaults.set(line1, forKey: "line1")
defaults.synchronize()
}
然后在视图中调用 userDefaults 确实加载了 MainViewController 类:
line1[indexPath.row] // as my cellForRowAt in tableView
print(line1)
//which prints : []
知道我做错了什么吗?提前致谢
【问题讨论】:
-
对
synchronize的调用已过时。它应该被删除。 -
userDefaults 是全局的吗?当我调用 forKey: "line1" 时,我的 lineOne1 变量在另一个类中声明。这有关系吗?
-
是的,对不起.. 我只是想简化它以方便。我没有指定,这是我的事
-
我更新了我的问题以显示课程
标签: ios arrays swift nsuserdefaults