我使用AVCaptureSession来扫描Swift应用程序中的QR码。我想围绕检测到的QR代码绘制一个框,但我无法将AVMetadataMachineReadableCodeObject的“角落”属性转换为可用的东西。Swift中的CGPointMakeWithDictionaryRepresentation
var corners:[AnyObject]! {得到}
该属性的值是CFDictionary对象的数组,其中每个 的已从CGPoint结构使用 CGPointCreateDictionaryRepresentation功能,相对于表示所述对象的角部的 坐标创建它所在的 中的图像。
我已经试过这(根据project by werner77),但我得到以下编译器错误“'CGPoint?不等同于“CGPoint””
// MARK: - AVCaptureMetadataOutputObjectsDelegate
func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) {
let metadataObject = metadataObjects[0] as AVMetadataMachineReadableCodeObject;
var corners = metadataObject.corners as Array<NSDictionary>;
var topLeftDict = corners[0] as NSDictionary;
var topLeft : CGPoint?
// COMPILE ERROR: 'CGPoint?' is not identical to 'CGPoint'
CGPointMakeWithDictionaryRepresentation(topLeftDict, &topLeft)
}
任何帮助,将不胜感激。