有一个类有Bool属性
class Coupon: NSObject {
var invalid: Bool = false
}
我创建了一个数组[优惠券],我需要逐个修改coupon.invalid为真。当所有这些coupon.invalid == true时,我可以处理下一个任务,我怎样才能实现这个逻辑RxSwift?请帮帮我~~
答案 0 :(得分:0)
首先,您将优惠券类型设为结构而不是类。
struct Coupon {
var invalid = false
}
将您的数组嵌入变量。
let coupons = Variable<[Coupon]>([])
coupons.value = getAllTheCoupons()
现在,您可以创建一个observable,只要所有值都为真,就会发出一个值。
let allTrue = coupons.asObservable()
.map { coupons in
coupons.contains(where: { $0.invalid == false }) == false
}
.filter { $0 }
allTrue.subscribe(onNext: { _ in
print("process next task.")
}).disposed(by: bag)