2016-04-28 4 views
1

写真フレームワークの一部として、iCloudから写真をダウンロードするオプションがあります(必要な場合)。問題は、私がそれを使う方法を理解していないということです。スウィフトタイプリアスを理解する

ドキュメントは言う:PHAssetImageProgressHandler

写真の呼び出しがiCloud上から資産データをダウンロードしながらブロックのための署名である

var progressHandler: PHAssetImageProgressHandler? 

。 progressHandlerプロパティで使用されます。

しかし、私はそれをどのように統合するか考えていません。

UPDATE

私はそれはあなたがPHAssetImageProgressHandlerを見るたびに、あなたが実際に次読まなければならないことを意味し

 var options: PHImageRequestOptions = PHImageRequestOptions() 
     options.networkAccessAllowed = true 
     options.progressHandler = PHAssetImageProgressHandler { 

     } 
+0

にあります。写真フレームワークがコールバックを使用しようとしているコールの例を挙げることはできますか? – JAL

+0

@JAL、質問 –

答えて

3

これはまた、あなたがPHAssetImageProgressHandlerを宣言したいとき、あなたはそのように宣言する必要があることを意味しこれは例えばrequestImageForAsset:targetSize:contentMode:options:PHImageManagerに渡されます。

構文は

let finalRequestOptions = PHImageRequestOptions() 
finalRequestOptions.progressHandler = { (progress, error, stop, info) in 
    // do something with the returned parameters 
} 

のように見えるのドキュメントは言う:

あなたはそのデータがローカルデバイス上ではなく、あなたが有効になっている networkAccessAllowedプロパティを使用してダウンロードした画像を要求した場合、 写真はブロックを定期的に呼び出して進捗状況を報告し、ダウンロードをキャンセルするには を許可します。

PHImageManagerの適切な説明は、それが閉鎖、コールバックのnshipster

+0

ありがとう! nshipsterへの参照は貴重です! –

2

使用している要求:ある

(Double, NSError?, UnsafeMutablePointer<ObjCBool>, [NSObject : AnyObject]?) -> Void

をタプルを引数とするクロージャー(Double, NSError?, UnsafeMutablePointer<ObjCBool>, [NSObject : AnyObject]?) rとそれを返しVoid

編集:それはクラスPHImageRequestOptionsでクロージャとして使われています

let handler : PHAssetImageProgressHandler = { (progress, error, stop, info) in 
    // your code 
} 
+0

を更新していただきありがとうございます。 :) –