0

Parse は、またはそのバックグラウンドで同等のものPFFileを使用するときに、どのように正確にデータをロードするのか疑問に思っていました。getData()これが私のケースです:

この場合は .JPG 画像であるkeyを持つUserクラスがあります。ユーザーをロードするときに、彼のプロフィール写真を. 私が使用するコードは次のとおりです。profilePicPFFileUIImageView

let imageFile = user["profilePic"] as PFFile
let imageData = imageFile.getData()
let image = UIImage(data: imageData)

次にimageUIImageViewを aに設定しUITableViewCellます。

ご覧のとおり、getData()の代わりに を使用しています。ここでは、完了ブロックgetDataInBackgroundWithBlock()に を設定します。image

問題は、メインスレッドをブロックしているという警告が表示されますが、テーブルをすばやくスクロールしても遅延がまったくないことに気付き、getData()頻繁にトリガーされることです。また、ステータス バーにネットワーク インジケータも表示されません。これは、Parse から画像ファイルを繰り返しプルしていることを示しています。

要約すると、私の質問は次のとおりです。パースがユーザーをロードするときに、イメージファイルをどのように正確にロードしますか? すべてのユーザー情報を取得してキャッシュに保存するときに、画像ファイルをダウンロードしますか? それとも、ファイルへの参照をロードした後、呼び出すたびにファイルをダウンロードしますgetData()か?

前もって感謝します。

4

1 に答える 1