【问题标题】:RxSwift Variable with Realm object storing带有 Realm 对象存储的 RxSwift 变量
【发布时间】:2016-03-17 02:26:10
【问题描述】:

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

是否可以代替以下。

import RealmSwift

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

要做这样的事情。

import RealmSwift
import RxSwift

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

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

【问题讨论】:

标签: ios swift realm rx-swift


【解决方案1】:

改用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多