美文网首页
NSFastEnumeration in Swift

NSFastEnumeration in Swift

作者: fishycx | 来源:发表于2019-10-09 16:39 被阅读0次

    项目中使用了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)

    }

    解决

    相关文章

      网友评论

          本文标题:NSFastEnumeration in Swift

          本文链接:https://www.haomeiwen.com/subject/uopgpctx.html