長いリソース読み込みプロセス中にUIViewにあるUIProgressViewプログレスバーを更新しようとしています。 NIBファイル(おそらく100など)からビットマップの束を読み込んでいるとしましょう。私が10をロードした後、すでに表示されているUIViewの一部であるUIProgressViewに.progressを発行します。だから、私が発行します。アプリを実行すると、プログレスバーが進まない私のアプリケーションがリソースを読み込んでいる間にUIProgressViewが更新されない
myView.myProgressView.progress=0.4;
などなど:
myView.myProgressView.progress=0.2;
をその後、私は別の10ビットマップ、および問題をロードします。それは単に最初の位置に留まります。 OSがUIを更新できるように、別のスレッドに自分のリソースをロードする必要がありますか、それとも簡単な方法ですか?ご協力いただきありがとうございます。
こんにちは、Marcc、 あなたのperformSelectorアプローチを無駄にしようとしました。私の他のすべてのコードが完了した後、setProgressBarメソッドが呼び出されました。私はUIProgressViewを更新しようとしなかった。私は単にNSLogをsetProgressBarに入れ、他のすべてのリソース読み込みメソッドの後にコンソールに出力しました。その他の提案はありますか?あなたは別のスレッドでこのようなことをやっているのかもしれないと私は参照することができますか? – kspeacock
だからアイデアは正しいです、あなたは1つのスレッドでデータを更新し、メインスレッド(UIスレッド)をブロックしないでください。私はあなたが実際にperformSelectorOnMainThreadを使用する必要があると思います。このアプローチを取る場合(開発者サイトでこのドキュメントのドキュメントを検索してください)。 – marcc