这段代码不能编译,但它让你知道我想要实现的目标:
enum headerStyles{ case h1 case h2 case h3}for item in headerStyles{ print(item)}解决方法 您可以编写一个提供该迭代功能的通用结构.在下面的示例中,枚举原始值必须以0开头(默认情况下是这样)并且原始值之间没有间隙(不能丢失原始值,例如0,1,2,3,5 – 4)
public struct EnumGenerator<T> : GeneratorType,SequenceType { private let enumInit: Int -> T? private var i: Int = 0 public mutating func next() -> T? { return enumInit(i++) } public init(_ initFunc: Int -> T?){ self.enumInit = initFunc}}enum headerStyles:Int{ case h1 case h2 case h3}for item in EnumGenerator(headerStyles.init){ print(item)}总结
以上是内存溢出为你收集整理的swift – Enum上的内省和迭代全部内容,希望文章能够帮你解决swift – Enum上的内省和迭代所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)