init?(coder: NSCoder)
init(name: NSNotification.Name, object: Any?)
init(name: NSNotification.Name, object: Any?, userInfo : [AnyHashable : Any]?)
struct NSNotification.Name
Notification
; use NSNotification
when you need reference semantics or other Foundation-specific behavior.
情報を含んでいるあるオブジェクトはNotification
にブリッジする登録オブザーバに放送します;あなたが参照意味論や他のFoundation特有の挙動を必要とする場合はNSNotification
を使ってください。
Availability 有効性
Technology
class NSNotification : NSObject
A notification contains a name, an object, and an optional dictionary, and is broadcast to by instances of Notification
or Distributed
. The name is a tag identifying the notification. The object is any object that the poster of the notification wants to send to observers of that notification (typically, the object posting the notification). The dictionary stores other related objects, if any. NSNotification
objects are immutable.
名前は、通知を識別するタグ(標識)です。オブジェクトは、何からのオブジェクトで、通知の投稿者がその通知のオブザーバに送ることを望むものです(概して、通知を投函しているオブジェクト)。辞書は、他の関連するオブジェクトを格納します、もしあれば。NSNotification
オブジェクトは、不変です。
You don’t usually create your own notifications directly, but instead call the Notification
methods post(name:
and post(name:
.
あなたは普通はあなた独自の通知を直接に作成しません、しかし代わりにNotification
のメソッドpost(name:
とpost(name:
を呼び出します。
Important 重要
The Swift overlay to the Foundation framework provides the Notification
structure, which bridges to the NSNotification
class. For more information about value types, see Working with Cocoa Frameworks in Using Swift with Cocoa and Objective-C (Swift 4.1).
FoundationフレームワークへのSwiftオーバーレイは、Notification
構造体を提供します、それはNSNotification
クラスにブリッジします。値型についてのさらなる情報として、Working with Cocoa FrameworksをUsing Swift with Cocoa and Objective-C (Swift 4.1)で見てください。
The objects of a notification are compared using pointer equality for local notifications. Distributed notifications use strings as their objects, and those strings are compared using is
, because pointer equality doesn’t make sense across process boundaries.
ある通知のオブジェクトは、ローカル通知に対してポインタ同等性を使って比較されます。配達される通知は、文字列をそれらのオブジェクトとして使います、そしてそれらの文字列はis
を使って比較されます、なぜならポインタ同等性はプロセス境界を越えて意味をなしません。
You can subclass NSNotification
to contain information in addition to the notification name, object, and dictionary. This extra data must be agreed upon between notifiers and observers.
あなたは、NSNotification
のサブクラスを作って、通知の名前、オブジェクト、そして辞書に加えて情報を含むことができます。この余分なデータは、通知とオブザーバの間で意見が一致していなければなりません。
Notification
is a class cluster with no instance variables. As such, you must subclass NSNotification
and override the primitive methods name
, object
, and user
. You can choose any designated initializer you like, but be sure that your initializer does not call init()
on super
(NSNotification
is not meant to be instantiated directly, and its init
method raises an exception).
Notification
は、インスタンス変数を持たないあるクラスクラスタです。そういうものとして、あなたはNSNotification
のサブクラスを作成して、根本的メソッドname
、object
、そしてuser
をオーバーライドしなければなりません。あなたは、あなたの好きな何らかの指定イニシャライザを選ぶことができます、しかしあなたのイニシャライザがinit()
をsuper
上で呼び出さないことを確実にしてください(NSNotification
は直接にインスタンス化されることになっていません、そしてそれのinit
メソッドは例外を引き起こします)。
init?(coder: NSCoder)
init(name: NSNotification.Name, object: Any?)
init(name: NSNotification.Name, object: Any?, userInfo : [AnyHashable : Any]?)
struct NSNotification.Name
var name: NSNotification.Name
var object: Any?
var userInfo : [AnyHashable : Any]?
typealias Notification.ReferenceType