文書   >   Foundation   >   Notifications   >   Notification   >   NSNotification


クラス


NSNotification


Notification にブリッジする登録された監視者にブロードキャストされる情報を含むオブジェクト。参照する意味やその他の Foundation 特有の動作が必要な場合は、NSNotification を使用して下さい。





概観


通知には、名前、オブジェクト、および optional の辞書が含まれ、NotificationCenter または DistributedNotificationCenter のインスタンスによってブロードキャストされます。名前は、通知を識別するタグです。オブジェクトは、通知のポスターがその通知の監視者に送信したい任意のオブジェクト (通常、通知をポストするオブジェクト) です。辞書には、他の関連するオブジェクトがあればそれも格納されます。NSNotification オブジェクトは不変です。


通常独自の通知を直接作成するのではなく、NotificationCenter メソッドの post(name:object:) および post(name:object:userInfo:) を呼び出して下さい。


重要

Foundation フレームワークへの Swift のオーバーレイは、NSNotification クラスにブリッジする Notification 構造体を提供します。値の型の詳細については、Cocoa と Objective-C での Swift の使用 (Swift 4.1)Cocoa フレームワークでの作業 を参照してください。


オブジェクトの比較


通知 (notification) のオブジェクトは、ローカル通知のためのポインタの等価性を使用して比較されます。分散通知は文字列をオブジェクトとして使用し、isEqual(_:) を使用してそれらの文字列を比較します。これは、ポインターの等価性がプロセスの境界を超えては意味をなさないためです。


サブクラスの作成


NSNotification をサブクラス化して、通知名、オブジェクト、および辞書に加えて情報を含めることができます。この追加のデータは、通知者と監視者の間で合意されなければなりません。


NotificationCenter は、インスタンス変数を持たないクラスクラスタです。そのため、NSNotification をサブクラス化し、原始的メソッドの nameobject、および userInfo をオーバーライドしなければなりません。好きな指定イニシャライザを選択することができますが、イニシャライザが init()super 上で呼び出していない事を確認して下さい (NSNotification は直接インスタンス化するつもりではなく、その init メソッドが例外を発生させます)。


トピックス





通知の作成





通知情報の取得


関連





以下からの継承


NSObject





以下に準拠


  • CVarArg
  • Equatable
  • Hashable

  • NSCoding
  • NSCopying

以下も見よ





参照型の使用





関連した文書


通知プログラミングトピックス





目次
Xcode 9 の新機能

  • 言語:Swift
  • SDK:
  • iOS 2.0+
    macOS 10.0+
    tvOS 9.0+
    watchOS 2.0+

  • 概観
  • トピックス
  • 関連
  • 以下も見よ












  • トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)












    トップへ(Swift Foundation)