【发布时间】:2015-01-02 12:37:13
【问题描述】:
我的对象符合SequenceType,所以实现了generate函数。 我的对象有一个可选对象,它有一个值数组 如果我有一个数组,我会通过生成器返回值,但如果没有值,则生成器必须返回 nil。我有下面的代码,但它相当冗长。有没有更好的方法来处理这个问题?
func generate() -> GeneratorOf<ValueType> {
if let values = self.data.values
{
var index : Int = 0
return GeneratorOf<ValueType> {
return (index < values.count) ? values[index++] : nil
}
}
//how to improve these lines (or wrap it into the code above?) This feels like repetition.
return GeneratorOf<ValueType> {
return nil
}
}
【问题讨论】: