func invalidate()
didBecomeInvalidNotification
to the default notification center.
レシーバを無効であるとして印します、そしてdidBecomeInvalidNotification
を省略時の通知センターに投函します。
var isValid : Bool
Availability 有効性
Technology
class Port : NSObject
Communication occurs between Port
objects, which typically reside in different threads or tasks. The distributed objects system uses Port
objects to send Port
objects back and forth. Implement interapplication communication using distributed objects whenever possible and use Port
objects only when necessary.
通信は、Port
オブジェクト間に発生します、それらは概して異なるスレッドまたはタスクに属します。分散オブジェクトシステムは、Port
オブジェクトを使ってPort
オブジェクトを後ろへそして前へ送ります。可能な時はいつでも分散オブジェクトを使ってアプリケーション間通信を実装してください、そして必要な時だけPort
オブジェクトを使ってください。
To receive incoming messages, add Port
objects to an instance of Run
as input sources. NSConnection
objects automatically add their receive port when initialized.
やって来るメッセージを受け取るには、Port
オブジェクトそれらをあるRun
のインスタンスに入力ソースとして加えてください。NSConnection
オブジェクトは、初期化される時に自動的にそれらの受信ポートを加えます。
When the Port
object receives a port message, it forwards the message to its delegate in a handle
or handle(_:)
message. The delegate should implement only one of these methods to process the incoming message in whatever form desired. handle
provides a message as a raw Mach message beginning with a msg
structure. handle(_:)
provides a message as an instance of Port
, which is an object-oriented wrapper for a Mach message. If a delegate has not been set, the NSPort
object handles the message itself.
Port
オブジェクトがポートメッセージを受け取る場合、それはメッセージをそれの委任先へとhandle
またはhandle(_:)
メッセージで転送します。委任先は、これらメソッドのうちの1つだけを実装して、何であれ望んだ形式でやって来るメッセージを処理すべきです。handle
は、あるメッセージを生のMachメッセージとしてmsg
構造体で開始して提供します。handle(_:)
は、あるメッセージをPort
のインスタンスとして提供します、それはMachメッセージに対するオブジェクト指向ラッパーです。委任先が設定されていないならば、NSPort
オブジェクトはメッセージそれ自身を取り扱います。
When you are finished using a port object, you must explicitly invalidate the port object prior to sending it a release
message. Similarly, if your application uses garbage collection, you must invalidate the port object before removing any strong references to it. If you do not invalidate the port, the resulting port object may linger and create a memory leak. To invalidate the port object, invoke its invalidate()
method.
あなたがあるポートオブジェクトの使用を終了する場合、あなたは明示的にそのポートオブジェクトを無効にしなければなりません、それにrelease
メッセージを送るより前にです。同様に、あなたのアプリケーションがガベージコレクションを使うならば、あなたはポートオブジェクトを、それへの何らかの強い参照を除去する前に無効にしなければなりません。あなたがポートを無効にしないならば、結果のポートオブジェクトは居残ってそしてメモリリークを作成するかもしれません。ポートオブジェクトを無効にするには、それのinvalidate()
メソッドを発動してください。
Foundation defines three concrete subclasses of NSPort
. NSMach
and Message
allow local (on the same machine) communication only. Socket
allows for both local and remote communication, but may be more expensive than the others for the local case. When creating an NSPort
object, using allocWithZone: or port
, an NSMach
object is created instead.
Foundationは、NSPort
の3つの具象サブクラスを定義します。NSMach
とMessage
は、ローカルの(同じマシーン上の)通信のみを可能にします。Socket
は、ローカルおよびリモートの通信の両方を想定します、しかしローカルの場合に対して他のものより高くつくかもしれません。NSPort
オブジェクトを、allocWithZone:またはport
使って作成している場合、NSMach
オブジェクトが代わりに作成されます。
Important 重要
Port
conforms to the NSCoding
protocol, but only supports coding by an NSPort
. Port
and its subclasses do not support archiving.
Port
はNSCoding
プロトコルに準拠します、しかしNSPort
によるコード化をサポートするだけです。Port
とそれのサブクラスは、アーカイブ化をサポートしません。
func invalidate()
didBecomeInvalidNotification
to the default notification center.
レシーバを無効であるとして印します、そしてdidBecomeInvalidNotification
を省略時の通知センターに投函します。
var isValid : Bool
func setDelegate (PortDelegate?)
func delegate() -> PortDelegate?
func send(before: Date, components: NSMutableArray?, from: Port?, reserved: Int) -> Bool
NSPort
.
このメソッドは、NSPort
のあつらえの型を持つサブクラスに対して提供されます。
func send(before: Date, msgid: Int, components: NSMutableArray?, from: Port?, reserved: Int) -> Bool
NSPort
.
このメソッドは、NSPort
のあつらえの型を持つサブクラスに対して提供されます。
var reservedSpaceLength : Int
func remove(from: RunLoop, forMode : RunLoop.Mode)
func schedule(in: RunLoop, forMode : RunLoop.Mode)
class let didBecomeInvalidNotification : NSNotification.Name
invalidate()
method, which is invoked when the NSPort
is deallocated or when it notices that its communication channel has been damaged. The notification object is the NSPort
object that has become invalid. This notification does not contain a userInfo
dictionary.
invalidate()
メソッドから投函されました、それが発動されるのはNSPort
がデアロケートされる時、またはそれがそれの通信経路が損傷を受けたことに気づく時です。通知オブジェクトは、無効になったNSPort
オブジェクトです。この通知は、userInfo
辞書を含みません。
typealias SocketNativeHandle
class SocketPort