【问题标题】:Cannot assign to property: 'value' is a get-only property RxSwift -无法分配给属性:“值”是一个只能获取的属性 RxSwift -
【发布时间】:2020-05-08 17:36:11
【问题描述】:

我想在 RxSwift - RxCocoa 中为 BehaviorRelay 赋值。但我收到此错误消息:“无法分配给属性:‘值’是一个只能获取的属性”。

这是我的代码: 私有 var todos = BehaviorRelay(值:[]) todos.value = todosVM.data

【问题讨论】:

  • 永远不要创建BehaviorRelayvar。应该是let

标签: ios swift xcode rx-swift rx-cocoa


【解决方案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)

    【讨论】:

      猜你喜欢
      • 2017-02-28
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      相关资源
      最近更新 更多