大佬教程收集整理的这篇文章主要介绍了如何编写协议扩展以从Swift枚举中获取所有rawValues,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
enum TESTTYPE: String,EnumIteratable { case unitTest = "Unit Test" case uiTest = "UI Test" } class EnumIterator: NSObject { class func iterateEnum<T: Hashable>(_: T.TypE) -> AnyGenerator<T> { var i = 0 return anyGenerator { let next = withUnsafePointer(&i) { UnsafePointer<T>($0).memory } return next.hashValue == i++ ? next : nil } } class func getValues<T: Hashable>(_: T.TypE) -> [T] { let iterator = self.iterateEnum(T) var returnArray = [T]() for val in iterator { returnArray.append(val) } return returnArray } }
我@R_696_10850@协议EnumIteratable,以便我可以调用TESTTYPE.getRawValues()并让它返回所有原始枚举值的字符串数组?
谢谢!
以上是大佬教程为你收集整理的如何编写协议扩展以从Swift枚举中获取所有rawValues全部内容,希望文章能够帮你解决如何编写协议扩展以从Swift枚举中获取所有rawValues所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。