【问题标题】:Realm updates are not saving领域更新不保存
【发布时间】:2020-08-20 00:11:40
【问题描述】:

所以我正在尝试更新 Realm 中 Object 类的 List 属性。 Object 的属性会更新,但由于某种原因,当它到达 Realm 时,更新永远不会发生。换句话说,我已经确认在我进行更改之后对实际对象进行了更改(对象中的列表更新),但是在我添加到领域之后,然后从领域中取回对象,就好像什么都没有改变一样。代码如下:

do{
   try! realm.write{
      let course = realm.objects(Course.self).filter("id =='\(courseID!)'").first
      course!.days = List<String>()
                   
      for day in daysSelected{
         course?.days.append(day)
      }
      realm.add(course!, update: .modified)

   }
}catch{
   print(error)
}

此外,您应该知道,当我更新其他属性(如字符串)时,更改会正常进行。我对列表做错了吗?在我的对象类中,列表声明为:

var days: List<String> = List<String>()

【问题讨论】:

    标签: swift list realm realm-list


    【解决方案1】:

    根据documentation

    必须声明在 Object 子类上定义的 List 类型的属性 作为 let 并且不能是动态的。

    而不是将您的列表定义为:

    var days: List<String> = List<String>()
    

    定义为:

    let days = List<String>()
    

    【讨论】:

    • 谢谢,这行得通。真的很生气,我花了几个小时试图找出问题所在,这就是大声笑。我想这是我没有阅读文档的错。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多