我使用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)
}
任何幫助,將不勝感激。