ios - Realm :更新对象而不更新列表

标签 ios swift realm objectmapper

有没有一种方法可以在不删除 ObjectMapper 列表的情况下更新对象?

例如:

我有一个 User 模型:

class User: Object, ObjectMapper {
  dynamic var id: Int = 0
  dynamic var name: String = ""

  var locations = List<Location>()

  convenience required init?(map: Map) {
  }

  func mapping(map: Map) {
    id        <- map["id"]
    name      <- map["name"]
    locations <- (map["locations"], ListTransform<Location>())
  }
}

现在,如果我从服务器获取用户数据,出于效率原因,我不会每次都获取位置。但是,如果我在没有它们的情况下初始化用户并使用 add(user, update: true) 保存它,所有位置都会被删除,因为在 JSON 数据中找不到任何位置。

更新 User 对象的属性而不是它的关系的最好和最干净的方法是什么?

最佳答案

您应该从 Realm 中获取现有用户,然后更改其属性,这样您就可以保留以前保存的位置。

关于ios - Realm :更新对象而不更新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721769/

相关文章:

iphone - 以编程方式移动 digdog MapKitDragAndDrop 框架中的引脚

ios - Swift:如何在一个 View Controller 中为多个 Collection View 初始化多个数据源

ios - 如何在 iOS8 中使用 iOS touch ID 映射第三方应用凭证?

ios - UITableView 标题的布局错误地向下移动

swift - 强制解包可选导致过滤器崩溃

ios - 在后台加载数据并重新加载tableView

ios - Realm 迁移,初始化位置

.net - Realm for .NET 支持 blob、byte[] 类型存储吗?

ios - 当应用程序失去焦点时,基于 BLE 值的 Swift 通知

iphone - 用于识别所选路径的按钮