私はiOS開発に少し慣れておらず、スレッド化に問題があります。jsonデータを返すWebサービスを呼び出していますが、このアクションを実行するコードは期待どおりに機能します。テストのために、ボタンをクリックしてデータを取得し、フォーマットされた結果をテキストビューコントロールに入力できるようにしたいと思います。ボタンクリックイベントハンドラーから抜粋したコードは次のとおりです。
dispatch_queue_t que = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(que, ^{
thisRiverGauge = [[RiverGauge alloc] initWithStationInfo:gauge forHistoryInHours:5 inThisFormat:@"json"];
[txtResults setText:rval];
});
スレッド内からtextview(txtResults)を更新しようとすると、ランタイムエラーが発生します。スレッドの外部でテキストビューの更新を配置すると、スレッドがイベントハンドラーの実行よりも完了するのに時間がかかるため、明らかに更新されません。これに対する解決策は何でしょうか?
どうも!