ios – Swift中的NSFastEnumeration

前端之家收集整理的这篇文章主要介绍了ios – Swift中的NSFastEnumeration前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将Objective-C项目转换为 swift,但是我无法找到如何对符合NSFastEnumeration的类的对象使用NSFastEnumeration.

以下是ObjC中的代码

@H_502_4@// get the decode results id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults]; ZBarSymbol *symbol = nil; for(symbol in results) // just grab the first barcode break;

到目前为止,我试图找到如何做到这一点,但是这不行,这里是swift代码

@H_502_4@var results: ZBarSymbolSet = infoDictionary?.objectForKey(ZBarReaderControllerResults) as ZBarSymbolSet var symbol : ZBarSymbol? = nil; for symbol in results { //just grab first barcode break; }

错误进入条件 – “ZBarSymbolSet”没有名为“Generator”的成员

我究竟做错了什么?

这是屏幕截图

解决方法

在一段时间之后,swift框架文件,我终于找到这个漂亮的类叫NSFastGenerator. NSSet和朋友似乎使用相同的Generator.

对于ZBarSymbolSet,以下是如何将其扩展为支持for-in循环:

@H_502_4@extension ZBarSymbolSet: SequenceType { public func generate() -> NSFastGenerator { return NSFastGenerator(self) } }

更新:看起来像Swift 2.0的协议扩展修复了我们!

猜你在找的iOS相关文章