项目中使用了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)
}
解决
网友评论