RxSwift中有没有一种方法可以观察数组内部的变化而无需设置新值?

时间:2018-08-05 06:08:53

标签: ios rx-swift

[示例代码]

let persons = Variable<[[String: Any]]> = Variable([
    [
        [
            "name": "John Smith"
        ]
    ]
])

persons.first!["name"] = "Joe Smith"

我们可以观察到的变化吗?

还是我们需要再次设置一个值?就是这样发出。

persons.value = persons.value

通过我刚接触RxSwift的方式。

1 个答案:

答案 0 :(得分:0)

设置代码的方式必须分配给value才能进行任何更改。您不能只更新一个成员。

如果您有一个变量变量,那么您可以更新数组中的各个项目。

let persons: Variable<[Variable<[String: Any]>]> = Variable([Variable<[String: Any]>(["name": "John Smith"])])

要重构词典数组,您必须映射。

persons.value.map { $0.value }

不过,可能有更好的方法来建立模型。