Parse は、またはそのバックグラウンドで同等のものPFFileを使用するときに、どのように正確にデータをロードするのか疑問に思っていました。getData()これが私のケースです:
この場合は .JPG 画像であるkeyを持つUserクラスがあります。ユーザーをロードするときに、彼のプロフィール写真を. 私が使用するコードは次のとおりです。profilePicPFFileUIImageView
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()か?
前もって感謝します。