NSURLConnectionによって作成されたUIImageへのポインターへのポインター
-
06-07-2019 - |
質問
やあ、これが取引だ...
サブクラス化された UIImageView
内の NSURLConnection
を介してバックグラウンドでロードされる UIImage
を取得しました。データのダウンロードが完了するまで、プレースホルダー画像が表示されます。 UIImage
は、別の別の UIImageView
でも使用する必要があります。
私が抱えている問題は、ダウンロードが完了する前に2番目の UIImageView
の image
プロパティをサブクラス化されたオブジェクトのプロパティに設定すると、2番目の< code> UIImageView は image
propがプレースホルダーを指しているため、ダウンロードした画像を表示しません。
とにかく、これら2つのUIImageView間のポインターにポインターを渡すことはできますか?
次のようなことを試しました:
imageView2.image = &[imageView1 image];
imageView2.image = *[imageView1 image];
しかし、これらは機能していないようです。アイデアはありますか?
解決
これらのポインターは特に粗く見えます。そのようにすることの問題は、それらのポインターが指すデータを更新している場合でも、データが変更されたことを UIImageView
サブクラスに通知しないため、変更されないことです。再描画することを知っている。
そのポインタの混乱で遊ぶ代わりに、 Key-Value Observing を使用しますか? UIImage
をダウンロードする別のスレッドを実行している場合は、 UIImageView
にそのプロパティを監視するよう指示するだけで、ダウンローダークラスがすべてのデータのダウンロードを完了し、それをプロパティに入れると、ビューは通知を受け取り、画像を表示できます。
他のヒント
NSURLConnectionからのconnectionDidFinishLoading:メッセージをキャッチしてから、2番目の画像を設定することはできませんか?