2017-06-20 125 views
0

我有一個TableViewController呈現(推)一個視圖控制器(ScannerViewController)使用此代碼:Bar Code Scanner如何以編程方式觸發seque?

有以下方法:

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

    if let metadataObject = metadataObjects.first { 
     let readableObject = metadataObject as! AVMetadataMachineReadableCodeObject; 

     AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate)) 
     found(code: readableObject.stringValue); 
    } 

    dismiss(animated: true) 
} 

而不是解僱(動畫:真)我想觸發一個seque。在TableViewController的方法是:

@IBAction func unwindWithSelectedCode(segue: UIStoryboardSegue) { 

    if let scannerViewController = segue.source as? ScannerViewController, 
     let selectedCode = scannerViewController.code { 
     myCode = selectedCode 
    } 
} 

通常我有我連接到ViewControllers出口標誌在VC在故事板的頂部,並調用上述方法的按鈕。但我沒有按鈕。那麼我怎麼能沒有按鈕就以編程方式調用seque方法呢?

回答

0

試試這個

self.performSegue(withIdentifier: "unwindSegueIdentifier", sender: self) 

與標識符

+0

感謝的替代unwindSegueIdentifier。如果我把這個代碼而不是dismiss()方法 - 它執行seque,但代碼不顯示在TableViewController中。任何想法如何解決這個問題? – Martin

相關問題