NSFastEnumeration in Swift

项目中使用了ZBar , 因为使用的swift,遇到如下问题:
在识别二维码内容时调用了如下方法:

guard let results = reader.scanImage(image) else {
    return ""
}

在 OC中可以使用如下方法获取内容值

/  get the decode results
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];

ZBarSymbol *symbol = nil;
for(symbol in results)
    // just grab the first barcode
    break;

swift 怎么获取呢。

stackoverflow 上给了相关答案,但好像不好使。亲测会crash的。

其实可以换中遍历方式:

guard let results = reader.scanImage(image) else {
    return ""
}
var symbolFound : ZBarSymbol?
var iterator = NSFastEnumerationIterator(results)
while let symbol = iterator.next() {
    symbolFound = symbol as? ZBarSymbol
    BBLog(message: symbolFound)
}

解决

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章