質問

やあ、これが取引だ...

サブクラス化された 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番目の画像を設定することはできませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top