在Realm

时间:2018-04-02 18:12:39

标签: swift realm rx-swift

我正在学习RxSwift,并希望使用Realm和RxRealm。我已经实现了删除和插入新项目,但我在更新一个值时遇到了问题。

在数据库单例内部我有这个功能:

func updateNew(for primaryKey: Int) {
    if let itemToUpdate = realm.object(ofType: Item.self, forPrimaryKey: primaryKey) {
        try! realm.write {
            itemToUpdate.isNew = !itemToUpdate.isNew
        }
    }
}

在我的视图模型中使用RxRealm Observable.changeset并订阅结果和更改。我可以看到,如果我为primaryKey = 2调用此函数,那么在subscribe我得到:

deleted: [1]
inserted: [2]

Observable.changeset(from: itemsResult!).subscribe(onNext: { results, changes in
            if let changes = changes {
                print(results)
                print("deleted: \(changes.deleted)")
                print("inserted: \(changes.inserted)")
                print("updated: \(changes.updated)")
                ...
}

为什么没有调用changes.updated

0 个答案:

没有答案