首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift3:我想实现读取和计数二维码的功能

Swift3:我想实现读取和计数二维码的功能
EN

Stack Overflow用户
提问于 2017-08-28 10:45:16
回答 1查看 124关注 0票数 1

我正在构建一个二维码阅读器应用程序。我写了一个读取和计数二维码的函数。我可以显示动态按钮标题的计数;但是,二维码的值不像1、2、3那样计数。显示自然的二维值。

我的ViewController:

代码语言:javascript
复制
class LentScanViewController: QRScannerViewController {

var device_name = ""
var countNum = 0

@IBOutlet weak var LentButton: UIButton!
@IBAction func lentButton(_ sender: Any) {
    performSegue(withIdentifier: "toLentTable",sender: device_name)
}
override func viewDidLoad() {
    super.viewDidLoad()
}

func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) {


    if metadataObjects == nil || metadataObjects.count == 0 {
        qrCodeFrameView?.frame = CGRect.zero
        return
    }

    let metadataObj = metadataObjects[0] as! AVMetadataMachineReadableCodeObject

    if metadataObj.type == AVMetadataObjectTypeQRCode {

        let barCodeObject = videoPreviewLayer?.transformedMetadataObject(for: metadataObj)
        qrCodeFrameView?.frame = barCodeObject!.bounds

        if metadataObj.stringValue != nil {
            device_name = metadataObj.stringValue

            countNum = countNum + 1
            LentButton.setTitle(String(countNum) + "Lent", for:[])
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-28 11:35:13

请尝试:

代码语言:javascript
复制
var qrCodes:[String] = [] // declare it as member variable in the class

然后调用

代码语言:javascript
复制
if metadataObj.stringValue != nil {
    let device_name = metadataObj.stringValue
    if !qrCodes.contains(device_name!) {
        qrCodes.append(device_name!)
    }
    countNum = countNum + 1
    messageLabel.text = String(countNum) + "Lent"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45911182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档