Parse は、またはそのバックグラウンドで同等のものPFFile
を使用するときに、どのように正確にデータをロードするのか疑問に思っていました。getData()
これが私のケースです:
この場合は .JPG 画像であるkeyを持つUser
クラスがあります。ユーザーをロードするときに、彼のプロフィール写真を. 私が使用するコードは次のとおりです。profilePic
PFFile
UIImageView
let imageFile = user["profilePic"] as PFFile
let imageData = imageFile.getData()
let image = UIImage(data: imageData)
次にimage
、UIImageView
を aに設定しUITableViewCell
ます。
ご覧のとおり、getData()
の代わりに を使用しています。ここでは、完了ブロックgetDataInBackgroundWithBlock()
に を設定します。image
問題は、メインスレッドをブロックしているという警告が表示されますが、テーブルをすばやくスクロールしても遅延がまったくないことに気付き、getData()
頻繁にトリガーされることです。また、ステータス バーにネットワーク インジケータも表示されません。これは、Parse から画像ファイルを繰り返しプルしていることを示しています。
要約すると、私の質問は次のとおりです。パースがユーザーをロードするときに、イメージファイルをどのように正確にロードしますか? すべてのユーザー情報を取得してキャッシュに保存するときに、画像ファイルをダウンロードしますか? それとも、ファイルへの参照をロードした後、呼び出すたびにファイルをダウンロードしますgetData()
か?
前もって感謝します。