我很难理解 GeneratorOf 和 SequenceOf 在 Swift 中的工作原理。我尝试查找文档,但他们对此的解释有限或没有。了解这些功能/协议(protocol)的人能否在以下示例中解释它们的工作原理:
enum TaskListRow: Int, Printable {
case ScaleQuestion = 0
case NumericQuestion
/// Returns an array of all the task list row enum cases.
static var allCases: [TaskListRow] {
var caseIndex = 0
let caseGenerator = GeneratorOf { TaskListRow(rawValue: caseIndex++) }
// Create a sequence that will consume the generator to create an array.
let caseSequence = SequenceOf(caseGenerator)
return Array(caseSequence)
}
// MARK: Printable
var description: String {
switch self {
case .ScaleQuestion:
return NSLocalizedString("Scale Question", comment: "")
case .NumericQuestion:
return NSLocalizedString("Numeric Question", comment: "")
}
}
}
let taskListRows = TaskListRow.allCases
print(taskListRows) //prints list
此外,GeneratorOf 和 SequenceOf 如何调用description 计算属性?
最佳答案
经过几个小时的搜索,我找到了一篇帮助回答我问题的博文:
Swift Sequences and Lazy Evaluation
这是补充文档,涵盖了 GeneratorOf 和 SequenceOf 的更广泛定义:
关于swift - 需要帮助理解 Swift 中的 GeneratorOf 和 SequenceOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127517/