Objective CのUIAlertView + Blockのようなコールバック実装用のUIAlertView拡張機能を実装していますが、デリゲートメソッドはこのクラスからヘルプを呼び出していません。前もって感謝します。
質問する
503 次
2 に答える
0
Apple のドキュメントによると、アラート ビューからのコールバックはバックグラウンド スレッドで実行され、それを受け取るコードはおそらくメイン スレッドで実行されます。
通知センターのApple iOSドキュメントから:
マルチスレッド アプリケーションでは、通知は常に、通知が投稿されたスレッドで配信されます。これは、オブザーバーが自身を登録したスレッドと同じではない場合があります。
メインスレッドで通知をコールバックする必要があります。そうしないと、奇妙なことが起こる可能性があります
dispatch_async(dispatch_get_main_queue(), {
//Call your notification from here
NSNotificationCenter.defaultCenter().postNotificationName(mySpecialNotificationKey, object: self)
})
于 2015-05-25T05:16:54.627 に答える