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)

}

解决

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容