首页 > 解决方案 > 更新 BehaviorRelay 属性的值

问题描述

当我尝试设置一个值时,出现错误:

无法分配给属性:“值”是仅获取属性

var value: BehaviorRelay<Any?>

var unpackedValue: Any? {
    get {
        return value.value
    }

    set {
        value.value  = newValue // error
    }
}

标签: swiftxcoderx-swift

解决方案


BehaviorRelay您需要用来accept(_ event: Element)发送新值的属性上

var unpackedValue: Any? {
    get {
        return value.value
    }
    set {
       value.accept(newValue)
    }
}

参考BehaviorRelay的实现

接受event并将其发送给订阅者


推荐阅读