我想将一个Objective-C项目转换为swift,但我无法找到如何将NSFastEnumeration用于符合NSFastEnumeration的类的对象。Swift中的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;
到目前为止,我试图找到如何做到这一点,但是这母鹿不似乎工作,这里是SWIFT代码:
var results: ZBarSymbolSet = infoDictionary?.objectForKey(ZBarReaderControllerResults) as ZBarSymbolSet
var symbol : ZBarSymbol? = nil;
for symbol in results
{ //just grab first barcode
break;
}
的错误进入条件 - “ZBarSymbolSet”没有名为“发生器”的成员
我在做什么错?
下面是屏幕截图
我想听听这个,以及一个真正的解决办法'NSFastEnumeration'是一个频繁使用的协议各地(唯一的答案,因为现在只是指出为什么它不工作。) 'NSFoundation'('NSSet','NSHa shTable','NSMapTable','NSPointerArray'等),当Objective-C中的那些类已经支持相同的'for-in'构造时,为了符合'SequenceType',扩展所有这些类是多余的。 – 2014-09-16 15:08:10