0

Objective CのUIAlertView + Blockのようなコールバック実装用のUIAlertView拡張機能を実装していますが、デリゲートメソッドはこのクラスからヘルプを呼び出していません。前もって感謝します。

4

2 に答える 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 に答える