gpt4 book ai didi

ios - 在 RxSwift 中修改 BehaviourRelay 数组内部的属性

转载 作者:行者123 更新时间:2023-11-29 05:24:36 25 4
gpt4 key购买 nike

我有一个使用 RxSwift 定义的数组

public var calendarNDays = BehaviorRelay<[CalendarControlDayModel]>(value: [])

CalendarControlDayModel 的结构如下。

struct CalendarControlDayModel {
var date: String = ""
var day: Int = 0
var name: String = ""
}

一旦 calendarNDays 在某个时间点更新了元素,我想修改数组中第 i 个元素的 name 属性。

就像self.calendarNDays.value[i].name =“Nancy”。但是,我收到编译错误“无法分配给属性:‘value’是仅获取属性”。

修改行为中继数组中元素的特定属性的方法是什么?

最佳答案

正如编译器建议的那样,BehaviorRelay 中的 value 是一个只读属性。

因此,为了对数组进行更改,您首先需要复制它并使用 accept 方法来反射(reflect)更改。

类似于

var update = calendarNDays.value
update[i].name = “Nancy”
calendarNDays.accept(update)

关于ios - 在 RxSwift 中修改 BehaviourRelay 数组内部的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58295463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com