ios - UserDefaults 数组返回为空

标签 ios arrays swift nsuserdefaults

我正在尝试将对象数组设置为用户默认值,但没有追加。

声明数组的变量 在我的 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()

}

然后在 View 中调用 userDefaults 确实加载了 主视图 Controller 类:

line1[indexPath.row] // as my cellForRowAt in tableView


print(line1)
//which prints : []

知道我做错了什么吗?提前致谢

最佳答案

你似乎追加到错误的数组:

lineOne1.append(formulaAppend)

应该是:

line1.append(formulaAppend)

关于ios - UserDefaults 数组返回为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56453799/

相关文章:

java - 数组的 k 大小的相等排列数

swift - SwiftUI 实时预览中的可变绑定(bind)

swift - CollectionView 单元格和进度栏 - 滚动后进度栏显示在错误的单元格中

ios - 根据按钮数量设置 CollectionView 单元格高度

ios - react 性 cocoa : Handling Multiple Unbalanced Keyboard Notifications

ios - Firebase 不将 URL 返回给 Swift

java - 接受对象数组然后添加到 ArrayList 的类

java - 检查数组中的每个元素是否具有相同的值

ios - 在 Swift 中将 MKMapPoint 转换为 NSValue

ios - 如何在 iOS 中安装字体系统