无法分配给属性:“值”是一个只能获取的属性 RxSwift -
Posted
技术标签:
【中文标题】无法分配给属性:“值”是一个只能获取的属性 RxSwift -【英文标题】:Cannot assign to property: 'value' is a get-only property RxSwift - 【发布时间】:2020-05-08 17:36:11 【问题描述】:我想在 RxSwift - RxCocoa 中为 BehaviorRelay 赋值。但我收到此错误消息:“无法分配给属性:‘值’是一个只能获取的属性”。
这是我的代码: 私有 var todos = BehaviorRelay(值:[]) todos.value = todosVM.data
【问题讨论】:
永远不要创建BehaviorRelay
和var
。应该是let
。
【参考方案1】:
你应该使用接受:
todos.accept(todosVM.data)
【讨论】:
【参考方案2】:跳转到BehaviorRelay
中的定义
你可以看到这个:
/// Accepts `event` and emits it to subscribers
public func accept(_ event: Element)
/// Current value of behavior subject
public var value: Element get
value
是一个获取值。
像todos.accept(todosVM.data)
一样使用accept(_ event: Element)
【讨论】:
以上是关于无法分配给属性:“值”是一个只能获取的属性 RxSwift -的主要内容,如果未能解决你的问题,请参考以下文章