我是 RxSwift 的新手并且正在阅读主题,我尝试了 Variable 主题。依次在控制台中发出警告

ℹ️ [DEPRECATED] `Variable` is planned for future deprecation. Please consider `BehaviorRelay` as a replacement. Read more at: https://git.io/vNqvx

早些时候我已经像这样声明了 Variable
var searchItems = Variable<[MyClass]>([])

所以我已经从它的名为 value 的属性中完成了基本的数组操作,因为它是 get set 属性,如
 1. self.searchItems.value.removeAll()
 2. self.searchItems.value.append(items)
 3. self.searchItems.value = items

现在收到警告后,我将其更改为 BehaviorRelay 之类的
var searchItems = BehaviorRelay<[MyClass]>(value: [])

所以我得到的错误是 值是只获取属性

我在谷歌上搜索了很多,但无法获得有关数组操作的合适解释。

我只有一个代码 self.searchItems.accept(items),我真的不知道它究竟是做什么添加新项目或追加的。

我需要在使用 BehaviorRelay 时如何执行所有 4 个操作?

最佳答案

1) 删除所有

var array = self.searchItems.value
array.removeAll()
self.searchItems.accept(array)

2) 附加项目
self.searchItems.value.accept(searchItems + [items])

3) 值 = ...
self.searchItems.value.accept(items)

10-05 20:35
查看更多