作为Photos框架的一部分,可以选择从iCloud下载照片(如果需要)。问题是我不明白如何使用它。
文档说:
var progressHandler: PHAssetImageProgressHandler?
PHAssetImageProgressHandler
从iCloud下载资产数据时照片调用的块的签名。由progressHandler属性使用。
typealias PHAssetImageProgressHandler = (Double, NSError?, UnsafeMutablePointer<ObjCBool>, [NSObject : AnyObject]?) -> Void
但我不知道如何整合它,任何建议人员?
更新
请求使用
var options: PHImageRequestOptions = PHImageRequestOptions()
options.networkAccessAllowed = true
options.progressHandler = PHAssetImageProgressHandler {
}
答案 0 :(得分:3)
它在类PHImageRequestOptions
中用作闭包,例如传递给requestImageForAsset:targetSize:contentMode:options:
的{{1}}。
语法类似于
PHImageManager
文档说:
上有如果您请求的图像的数据不在本地设备上,那么您 已启用networkAccessAllowed属性下载, 照片会定期调用您的块以报告进度并允许 你取消下载。
let finalRequestOptions = PHImageRequestOptions()
finalRequestOptions.progressHandler = { (progress, error, stop, info) in
// do something with the returned parameters
}
的详细说明
答案 1 :(得分:2)
这意味着无论何时看到PHAssetImageProgressHandler
,您都应该阅读以下内容:
(Double, NSError?, UnsafeMutablePointer<ObjCBool>, [NSObject : AnyObject]?) -> Void
这是一个闭包,它将元组(Double, NSError?, UnsafeMutablePointer<ObjCBool>, [NSObject : AnyObject]?)
作为参数并返回Void
编辑:
这也意味着每当你想声明一个PHAssetImageProgressHandler
时,你应该这样声明:
let handler : PHAssetImageProgressHandler = { (progress, error, stop, info) in
// your code
}