【发布时间】:2016-05-27 18:59:35
【问题描述】:
我有一个包含各种类文件的项目。我有一个条形码扫描仪,我从在线资源中使用过它,它在警报控制器中输出值。我想做的是获取条形码值并将其传递回我的主类并使用函数解析它并将其显示在相关标签中。出于某种原因,如果有人有任何很棒的想法,我无法做到这一点。我花了一整天的时间试图弄清楚这一点,但没有任何运气。
barcodeScanner 类相关部分
/* AVCaptureMetadataOutputObjectsDelegate */
func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) {
if alertController != nil {
return
}
if metadataObjects != nil && metadataObjects.count > 0 {
if let machineReadableCode = metadataObjects[0] as? AVMetadataMachineReadableCodeObject {
// get the barcode string
let type = machineReadableCode.type
let barcode = machineReadableCode.stringValue
我需要将上面的条形码让值传递给乘客信息类,它将通过 submitCodeAuto 函数传递以写入标签。
passengerInformation().self.submitCodeAuto(barcode)
我在上面的破解似乎不起作用..
// display the barcode in an alert
let title = "Barcode"
let message = "Type: \(type)\nBarcode: \(barcode)"
displayAlert(title, message: message)
}
}
}
}
乘客信息类
@IBOutlet weak var firstNameResponse: UILabel!
@IBOutlet weak var lastNameResponse: UILabel!
@IBAction func submitCodeAuto(sender: AnyObject!) {
firstNameResponse.text = barcodeProtocol(barcode).firstName
lastNameResponse.text = barcodeProtocol(barcode).lastName
}
submitCodeAuto 函数还通过另一个名为barcodeProtocol 的函数发送传入的条形码,该函数对其进行格式化以允许检索名字和姓氏。
我目前使用通过barcodeProtocol 运行文本字段值并显示在标签中的按钮测试标签,以便一切正常。
我还用可以正常工作的扫描仪类将一个按钮连接到一个新的视图控制器。显示相机扫描并显示值。
但我无法加入他们。应用程序返回致命错误:在展开可选值时意外发现 nil
任何帮助将非常感谢。
【问题讨论】:
-
你搜索错误信息
fatal error: unexpectedly found nil while unwrapping an Optional value了吗?您是否查看了 Xcode 中指出的问题行?你尝试过什么调试? StackOverflow 上有很多类似的问题。例如:stackoverflow.com/q/32170456/558933