0

アプリの UIWindow をサブクラス化しています。ユーザーからのアクティビティがない場合は、NSNotificationCenter を使用して通知を発生させます。[NSTimerscheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]を使用しています

これを AppDelegate クラスで処理します。 これは、別のスレッドを開始すると思われるMBProgressHUD - http://iosdevelopertips.com/open-source/ios-open-source-heads-up-display-with-mbprogresshud.htmlを使用してコードを実行している場合を除いて、問題なく動作します。通知に反応するコードが実行されているときに、Done デリゲートが同時に起動すると、エラーが発生します。これはスレッドの問題だと確信していますが、どうすればこの状況を回避できますか

4

1 に答える 1

0

アプリデリゲートで @synchronized を使用できます。アプリ デリゲートはシングルトーンであるため、重要なセクションを保護する必要があります。

Apple スレッディング ドキュメントの詳細はこちら

編集:スレッド化と通知に関するこのリンクは、優れた情報源です。

編集2:これはさらに優れています

于 2011-09-27T12:17:08.320 に答える