读取二维码后发送数据到下一个视图控制器
Send data to next view controller after QR Code read
我希望我在这里遗漏了一些非常简单的东西,但我似乎无法理解它!
我正在读取二维码并在读取二维码后推送到我的下一个视图控制器:
if metadataObj.stringValue != nil {
let qrData = metadataObj.stringValue
let segueViewController = self.storyboard?.instantiateViewControllerWithIdentifier("confirmScan") as? ScanConfirm
self.navigationController?.pushViewController(segueViewController!, animated: true)
captureSession?.stopRunning() }
然后我想传递在 QR 码中找到的数据并将其显示在我的下一个视图的标签中。我试过使用 prepareForSegue 但这似乎不起作用。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let NextViewController : ScanConfirm = segue.destinationViewController as! ScanConfirm
NextViewController.newLabel.text = qrData
}
任何帮助将不胜感激!
谢谢
create a property in ScanConform class
class ScanConform: UIViewController {
var scanData:String?
you can place below code viewdidload or viewwillapper
override func viewDidLoad() {
super.viewDidLoad()
guard let displayData = scanData else { return }
newLabel.text = displayData
}
}
While Setting Data Do Like this
if metadataObj.stringValue != nil {
let qrData = metadataObj.stringValue
let segueViewController = self.storyboard?.instantiateViewControllerWithIdentifier("confirmScan") as? ScanConfirm
segueViewController.scanData = grData
self.navigationController?.pushViewController(segueViewController!, animated: true)
captureSession?.stopRunning()
}
我希望我在这里遗漏了一些非常简单的东西,但我似乎无法理解它!
我正在读取二维码并在读取二维码后推送到我的下一个视图控制器:
if metadataObj.stringValue != nil {
let qrData = metadataObj.stringValue
let segueViewController = self.storyboard?.instantiateViewControllerWithIdentifier("confirmScan") as? ScanConfirm
self.navigationController?.pushViewController(segueViewController!, animated: true)
captureSession?.stopRunning() }
然后我想传递在 QR 码中找到的数据并将其显示在我的下一个视图的标签中。我试过使用 prepareForSegue 但这似乎不起作用。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let NextViewController : ScanConfirm = segue.destinationViewController as! ScanConfirm
NextViewController.newLabel.text = qrData
}
任何帮助将不胜感激!
谢谢
create a property in ScanConform class
class ScanConform: UIViewController {
var scanData:String?
you can place below code viewdidload or viewwillapper
override func viewDidLoad() {
super.viewDidLoad()
guard let displayData = scanData else { return }
newLabel.text = displayData
}
}
While Setting Data Do Like this
if metadataObj.stringValue != nil {
let qrData = metadataObj.stringValue
let segueViewController = self.storyboard?.instantiateViewControllerWithIdentifier("confirmScan") as? ScanConfirm
segueViewController.scanData = grData
self.navigationController?.pushViewController(segueViewController!, animated: true)
captureSession?.stopRunning()
}