Sha*_*iel 14 objective-c ios swift
我试图将Objective-C项目转换为swift,但我无法找到如何将NSFastEnumeration用于符合NSFastEnumeration的类的对象.
这是ObjC中的代码:
// get the decode results
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// just grab the first barcode
break;
Run Code Online (Sandbox Code Playgroud)
到目前为止,我试图找到如何做到这一点,但这似乎不起作用,这里是快速的代码:
var results: ZBarSymbolSet = infoDictionary?.objectForKey(ZBarReaderControllerResults) as ZBarSymbolSet
var symbol : ZBarSymbol? = nil;
for symbol in results
{ //just grab first barcode
break;
}
Run Code Online (Sandbox Code Playgroud)
条件错误 - "ZBarSymbolSet"没有名为"Generator"的成员
我究竟做错了什么?
这是屏幕截图

Joh*_*pia 22
经过一段时间围绕swift框架文件,我终于找到了这个很好的类NSFastGenerator.NSSet而朋友们似乎也在使用相同的东西Generator.
因为ZBarSymbolSet,这是你如何扩展它以支持for-in循环:
extension ZBarSymbolSet: SequenceType {
public func generate() -> NSFastGenerator {
return NSFastGenerator(self)
}
}
Run Code Online (Sandbox Code Playgroud)
更新:看起来Swift 2.0的协议扩展为我们解决了这个问题!
| 归档时间: |
|
| 查看次数: |
5489 次 |
| 最近记录: |