0

わかった。だから私はこのアプリを作成していて、1つのことを除けば本当に満足しています。多くのインターネットデータベースチェックなどを使用しており、これを実行するたびに、終了するまでハングし、インターフェイスの流動性を損ないます。これを回避する方法はありますか?ダウンロードは、ボタンをクリックしたとき、またはNSTimerの結果として発生することがあります。ユーザーがインターフェースをスムーズに通過し、アプリがそこに到達したときに情報を更新できるようにしたいと思います。とにかくこれを行うことはありますか?

編集-現在の同期コード:これはCSVファイルをダウンロードするためのものです:

NSString *link=[[NSString alloc] initWithFormat:@"http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=%@&callback=YAHOO.Finance.SymbolSuggest.ssCallback",timer.userInfo];
NSURL *url=[[NSURL alloc] initWithString:link];
NSData *dl=[[NSData alloc] initWithContentsOfURL:url];
NSString *str = [[NSString alloc] initWithData:dl encoding:NSUTF8StringEncoding];

これは、pngファイルをwebViewにダウンロードするためのものです。

NSString *link=[[NSString alloc] initWithFormat:@"http://chart.finance.yahoo.com/z?s=%@&t=GOOG&q=m",self.Input.text];
url=[[NSURL alloc] initWithString:link];
[self.graph loadRequest:[NSURLRequest requestWithURL:url]];
4

1 に答える 1

5

同期リクエストを行っているようです。メインスレッドでそれを行うべきではありません。最善のオプションは、おそらく非同期リクエストに切り替えることです。バックグラウンドスレッドで同期リクエストを行うこともできますが、それはほとんどの状況でより複雑で不要です。

于 2012-09-04T15:41:10.187 に答える