小编Dre*_*ich的帖子

使用RSBarcodes扫描条形码时执行操作

我正在构建一个使用RSBarcodes for Swift进行 QR码扫描的应用程序.我想要做的ScanViewController是扫描QR码,验证扫描的内容,然后扫描扫描的数据.目前,当检测到QR代码时,我的UI冻结,并且在我收到错误和内存转储后不久:

'NSInternalInconsistencyException',原因:'只在主线程上运行!'.

也许这不是验证QR码的正确位置,或者不适合segue,但如果没有,我想知道验证和segue应该在哪里进行.我唯一的另一个要求是验证仅在检测到QR码时才会发生.

class ScanViewController: RSCodeReaderViewController{
    // Class Variables
    var finalObject: IBuiltCode?
    let ObjectHelper = ObjectBuilder() // Service to validate and build valid scanned objects

    override func viewDidLoad() {
        super.viewDidLoad()

        self.focusMarkLayer.strokeColor = UIColor.redColor().CGColor
        self.cornersLayer.strokeColor = UIColor.yellowColor().CGColor

        self.tapHandler = { point in
            println(point)
        }

        self.barcodesHandler = { barcodes in
            for barcode in barcodes {
                println("Barcode found: type=" + barcode.type + " value=" + barcode.stringValue)
                if let builtObject = self.ObjectHelper.validateAndBuild(barcode,
                      scannedData: barcode.stringValue){
                    println("Good object.")
                    self.performQR()
                } …
Run Code Online (Sandbox Code Playgroud)

ios swift rsbarcodes

4
推荐指数
1
解决办法
690
查看次数

标签 统计

ios ×1

rsbarcodes ×1

swift ×1