0

我在理解是否支持将 RxSwift 与 Realm 结合使用时遇到了一些问题,因为 Realm 明确声明了支持的变量类型。

是否可以代替以下内容。

import RealmSwift

class Dog: Object {
  dynamic var name = ""
}

做这样的事情。

import RealmSwift
import RxSwift

class Dog: Object {
  var name = Variable<String>("")
}

我做了一些谷歌搜索,但没有找到任何关于扩展或其他解决方案的最新信息。将不胜感激任何帮助或只是指向正确的方向。

4

1 回答 1

2

改用 KVO 怎么样rx_observe()?如下所示:

dog
    .rx_observe(String.self, "name")
    .subscribeNext { name in
        print("string: \(name)")
}

但是没有使用 KVO 持久化的 Realm 对象有一个限制。

对于持久化的对象,观察没有限制。

笔记:

观察 Object 子类的独立实例的属性就像使用任何其他动态属性一样,但请注意,当它有任何注册的观察者时,您不能将对象添加到 Realm(使用 realm.add(obj) 或其他类似方法)。

https://realm.io/docs/swift/latest/#key-value-observation

于 2016-03-17T09:45:49.897 回答