誰かに、カスタム通知、発射方法、購読方法、および処理方法を示すCocoa Obj-Cオブジェクトの例を表示できますか?ココアのカスタム通知の例
答えて
@implementation MyObject
// Posts a MyNotification message whenever called
- (void)notify {
[[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotification" object:self];
}
// Prints a message whenever a MyNotification is received
- (void)handleNotification:(NSNotification*)note {
NSLog(@"Got notified: %@", note);
}
@end
// somewhere else
MyObject *object = [[MyObject alloc] init];
// receive MyNotification events from any object
[[NSNotificationCenter defaultCenter] addObserver:object selector:@selector(handleNotification:) name:@"MyNotification" object:nil];
// create a notification
[object notify];
詳細については、NSNotificationCenterのマニュアルを参照してください。
通知を使用するポイントは何ですか?単に[object handleNotification]をまっすぐに呼び出さないのはなぜですか? –
緩いカップリング。 "// somewhere else"コメントに注意してください。通知は一種のブロードキャストメッセージです。どんなオブジェクトインスタンスも通知を聞くことができ、特定のデリゲートプロトコルなどに準拠する必要はありません。単一のメッセージを聞いているインスタンスがたくさんあるかもしれません。送信者は、通知したいオブジェクトインスタンスへのポインタを持つ必要はありません。 –
ステップ1:
//register to listen for event
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(eventHandler:)
name:@"eventType"
object:nil ];
//event handler when event occurs
-(void)eventHandler: (NSNotification *) notification
{
NSLog(@"event triggered");
}
ステップ2:
//trigger event
[[NSNotificationCenter defaultCenter]
postNotificationName:@"eventType"
object:nil ];
ああ、本当にありがとうございます。これは私が必要とするものです。 – d12frosted
ゴージャス:)おかげでたくさん –
あなたのオブジェクトの割り当てが解除されたときに通知(オブザーバー)を登録解除することを確認します。アップルのドキュメントでは、「通知を監視しているオブジェクトが割り当て解除される前に、通知センターに通知の送信を停止するよう指示する必要があります。ローカル通知用の
次のコードが適用されます。
[[NSNotificationCenter defaultCenter] removeObserver:self];
と分散通知のオブザーバーのために:
[[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
- 1. rakeタスクの例外例外通知ツール
- 2. 「ダイジェスト」アラートサブスクリプションのカスタム電子メール通知
- 3. APNカスタム通知音の問題
- 4. XBAP例外通知ツール
- 5. Google Checkout通知API Pythonの例
- 6. タイマーハンドラから通知を送信するココア
- 7. カスタムAirbrake通知で環境を渡す
- 8. Googleの音楽のようなAndroid 4.0のカスタム通知
- 9. Javaのスケジュール通知メール通知
- 10. ローカル通知とプッシュ通知のRx_Swift
- 11. は、アクションの現在の通知を閉じ、私はアクションボタンとカスタム通知を持って
- 12. Androidのカスタム通知が表示されない
- 13. Android 2.3以下でカスタム通知のレイアウトが動作しない
- 14. タイムラインユーザーのみが利用可能なFacebook Open Graphカスタム通知?
- 15. Jelly Bean(4.1)のカスタム拡張可能通知
- 16. Android 2.3以降の通知でクリック可能なカスタム表示
- 17. カスタムAndroidダウンロードサービス - ファイルごとに進捗通知の行を提供
- 18. カスタム通知:java.lang.RuntimeException:不正な配列の長さ
- 19. サイレントプッシュ通知とノーマルプッシュ通知
- 20. コントローラでキャッチされた例外のクライアント/ビューへの通知
- 21. プロダクションモードの例外通知機能のみですか?
- 22. ルビープロジェクトの例外通知の宝石はありますか?
- 23. 例外 - ユーザーの通知またはエラーログのため?
- 24. スローアドバイスを使用してカスタム例外に未知の例外をラップする
- 25. Facebookの通知
- 26. winformsの通知
- 27. Androidの通知
- 28. 通知のメディアプレーヤーコントロール
- 29. チャットウィジェットの通知
- 30. 通知のアクティビティオーダー
漠然とした質問です。より具体的な質問をするか、Appleのマニュアルを検索してみてください。 – danielpunkass
私は通常、このような質問にはコメントしませんが、あなたが "con"を受け取った方法を見て、その後私のものは "pro"になることがあります。この質問は、トピックと厳密に対処する*簡潔な答えを可能にします。私は単なる単純なことを見つけたいだけです。* apple *のドキュメントを調べるのではなく、おそらく価値があります。この質問をしてくれてありがとう。私はあなたの+15気圧が私の感情と一致しているのを見ます。 – Jacksonkr
+1もあります。ありがとう。 –