我可以创建具有非可选值的空可变属性(或其他类型的属性)吗?
例如这是可行的:
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/