我想写一个swift 3函数,它从照片中读取exif数据(PHAsset)。我正在使用requestImageData调用。即使我将isSynchronous
选项设置为true
,此调用似乎也不是同步的。
我想要做的是从处理程序块返回一个值。此代码不起作用,因为我的返回不在函数体中。此返回位于处理程序中。
如何使此功能同步并返回属性字典?
func read_exif(photo:PHAsset) -> [String:Any] {
let manager = PHImageManager.default()
let options = PHImageRequestOptions()
options.isSynchronous = true
manager.requestImageData(for: photo, options: options) { (result, string, orientation, info) -> Void in
let img:CIImage = CIImage(data:result!)!
return img.properties
}
}