1

私のアプリでは、ユーザーがボタンをクリックしたときにロード画面を表示し、ネットワークからデータをロードするメソッドを呼び出してから、データを UITableView に表示するビューをロードします。ロード画面を表示する以外はすべて機能しています。(ネットワーク データ/解析ロジックが実行されているため、UI がハングします) ネットワーク ビジネスを別のスレッドで実行するように設定する方法と、このスレッドを開始するタイミングを教えてください。

遷移を処理する rootViewController があります。このビューを処理するサブクラス UIViewController、UIView、および UITableViewController。

4

1 に答える 1

0

次のようなメソッド内にバックグラウンドコードを配置します。

- (void)backgroundLogic;
{
    NSAutoreleasePool *pool = [ [ NSAutoreleasePool alloc ] init ];
    // do stuff here
    [ pool release ];
}

次に、ロード画面を表示し、を使用して別のスレッドでその作業を開始します

[NSThread detachNewThreadSelector: @selector(backgroundLogic) toTarget: self withObject: nil];

バックグラウンドスレッドが終了したら、ロード画面を閉じて、アプリケーションの通常のフローを続行できます。

于 2009-07-21T19:55:12.493 に答える