gpt4 book ai didi

swift - 具有非可选值的空可变属性

转载 作者:搜寻专家 更新时间:2023-11-01 07:22:41 24 4
gpt4 key购买 nike

我可以创建具有非可选值的空可变属性(或其他类型的属性)吗?

例如这是可行的:

let distributions = MutableProperty<Distributions?>(nil)

但我需要这样的东西:

let distributions = MutableProperty<Distributions>()

分发对象:

struct Distributions : CollectionType{

typealias Index = Int

private let distributions : [Distribution]

init(distributions : [Distribution]){
self.distributions = distributions
}

var startIndex: Int {
return 0
}

var endIndex: Int {
return distributions.count
}

subscript(i: Int) -> Distribution {
return distributions[i]
}

}

struct Distribution{
let id : Int
let dateStart : String
let dateEnd : String
}

谢谢帮助。

最佳答案

我可以想到两种方法来做到这一点。第一,在信号生成器上使用 ignoreNil

let distributions = MutableProperty<Distributions?>(nil)

distributions.producer
.ignoreNil()
.startWithNext { distributions in
// distributions is of type [Distribution]
}

二、将MutableProperty的初始值设置为一个空的Distributions对象。

let distributions = MutableProperty<Distributions>(Distributions(distributions: []))

// You can skip the initial value if need be
distributions.producer.skip(1)

关于swift - 具有非可选值的空可变属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37910324/

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