私はdispatch_asyncを使用して外部ソースからデータを取得しようとしていますが、それはUILabelsを更新するだけで動作します。UITextViewを使用したdispatch_async呼び出し
UILabelとUITextViewの間に、このシナリオの違いはここrelevanteコードですいただきまし
は:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, NULL), ^{
/* Download stuff */
PAPavillionInfoModel *info = [PADataSource getPavillionInfo];
dispatch_async(dispatch_get_main_queue(), ^{
/* Send UI updates back to the main thread. */
capacity.text = info.capacity;
inauguration.text = info.inauguration;
architect.text = info.architect;
inspiration.text = info.inspiration;
// THESE NEXT TWO LINES GIVE AN ERROR [message sent to deallocated instance]
description.text = info.description;
imageView.image = info.photo;
});
});
getPavillionInfoはとPHPのページに移動し、JSONデータを取得し、それを解析します。
ブロックの最初の行は、UIスレッドの作業に使用されます。彼らはUILablesのテキストを更新します。最後の2つはありません。
ここに何かがありませんが、何が分かりませんか。
ありがとう、私は完全に問題の間違った側に焦点を当てていた。 infoクラスのプロパティには、retainではなくcopyがあります。奇妙な部分は、同じしかし彼らが働いた他のプロパティです。 –