Realm根据Swift中的条件更新

时间:2018-04-30 22:18:18

标签: swift realm

如果存储的时间戳小于更新数据中的时间戳,我只想更新一个对象。在mysql中,我会设置一个像UPDATE items SET email="admin@google.com" WHERE timestamp < 1725239737这样的条件,在境界中执行此操作的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

你可以这样做。获取所有对象,然后更新电子邮件值:

// Query all objects with Item Realm Object Class
let datetime = Date(timeIntervalSince1970: 1725239737)
let items = realm.objects(Item.self).filter("timestamp < %@", datetime)

// Write to Realm
let realm = try! Realm()
try! realm.write {
    for item in items {       
        item.email = "admin@google.com"
    }
}

https://realm.io/docs/swift/latest/#filtering