1

MBProgressHUD新しいスレッドを生成せずに iPhone アプリに表示したい。

非常に複雑なビジネス ロジック セットがあり、ユーザー入力を待機する必要がある場合があり (常にではありません)、複数のスレッドで実行すると、一度に複数回ユーザー入力を要求され、クレイジーなエラーが発生します。したがって、メインスレッドから何かを実行することは避けたいと思います。ただし、この制約によりMBProgressHUD、メイン スレッドがブロックされているため、 は表示されません。通常MBProgressHUD、次のコードで作成します。

[HUD showWhileExecuting:@selector(myWorkerMethod) onTarget:self withObject:nil animated:YES];

しかし、メインスレッドをブロックせずに次のコードを使用したいと思います:

HUD = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.minShowTime = 0.0;
HUD.labelText = @"some text";
[HUD show:YES];

何かご意見は?

4

2 に答える 2

1

遅いよりはましです。これは、いくつかの実行ループ ティッケリーで行うことができます。詳細については、この回答を参照してください。

于 2012-04-10T15:53:19.547 に答える