Instance Method インスタンスメソッド

initWithReceivePort:sendPort:

Returns an NSConnection object initialized with given send and receive ports. あるNSConnectionオブジェクトを返します、与えられた送信および受信ポートで初期化されるものです。

Declaration 宣言

- (instancetype)initWithReceivePort:(NSPort *)receivePort 
                           sendPort:(NSPort *)sendPort;

Parameters パラメータ

receivePort

The receive port for the new connection. 新しい接続に対する受信ポート。

sendPort

The send port for the new connection. 新しい接続に対する送信ポート。

Return Value 戻り値

An NSConnection object initialized with receivePort and sendPort. The returned object might be different than the original receiver. あるNSConnectionオブジェクト、receivePortsendPortで初期化されます。返されるオブジェクトは、オリジナルのレシーバとは異なるかもしれません。

Discussion 議論

The new NSConnection object adds receivePort to the current NSRunLoop object with NSDefaultRunLoopMode as the mode. If the application doesn’t use an NSApplication object to handle events, it needs to run the NSRunLoop object with one of its various run... messages. 新しいNSConnectionオブジェクトは、receivePortを現在のNSRunLoopオブジェクトに、NSDefaultRunLoopModeをモードとして使って加えます。アプリケーションがイベントを取り扱うためにNSApplicationオブジェクトを使わないならば、それはそれのさまざまなrun...メッセージの1つでNSRunLoopオブジェクトを実行する必要があります。

This method posts an NSConnectionDidInitializeNotification once the connection is initialized. このメソッドは、NSConnectionDidInitializeNotificationを接続が初期化されるとすぐに投函します。

The receivePort and sendPort parameters affect initialization as follows: receivePortsendPortパラメータは、以下のように初期化に影響を与えます:

  • If an NSConnection object with the same ports already exists, returns it and discards the original receiver. NSConnectionオブジェクトが同じポートそれらで既に存在するならば、それを返してそして元のレシーバを廃棄します。

  • If an NSConnection object exists that uses the same ports, but switched in role, then the new NSConnection object communicates with it. Messages sent to a proxy held by either connection are forwarded through the other NSConnection object. This rule applies both within and across address spaces. あるNSConnectionオブジェクトが存在する、それは同じポートそれらを使う、しかし役割において取り替えられるならば、そのとき新しいNSConnectionオブジェクトはそれと通信します。どちらかの接続によって保持されるプロキシに送られるメッセージは、他のNSConnectionオブジェクトを通して転送されます。この規則は、アドレス空間内でそしてそれを越えての両方で適用されます。

    This behavior is useful for setting up distributed object connections between threads within an application. See Distributed Objects Programming Topics for more information. この挙動は、分散オブジェクト接続をあるアプリケーション内のスレッド間で準備するのに役立ちます。Distributed Objects Programming Topicsをさらなる情報として見てください。

  • If receivePort and sendPort are nil, deallocates the receiver and returns nil. receivePortsendPortnilならば、レシーバをデアロケートして、そしてnilを返します。

  • If receivePort is nil, the NSConnection object allocates and uses a new port of the same class as sendPort. receivePortnilならば、NSConnectionオブジェクトはsendPortと同じクラスの新しいポートをアロケートして使用します。

  • If sendPort is nil or if both ports are the same, the NSConnection object uses receivePort for both sending and receiving and is useful only for vending an object. Use registerName: and rootObject to vend an object. sendPortnilならばまたは両方のポートが同じならば、NSConnectionオブジェクトはreceivePortを送信と受信の両方に使ってそしてあるオブジェクトの販売に対してのみ役立ちます。registerName:rootObjectを使用してオブジェクトを販売してください。

  • If an NSConnection object exists that uses receivePort as both of its ports, it’s treated as the parent of the new NSConnection object, and its root object and all its configuration settings are applied to the new NSConnection object. You should neither register a name for nor set the root object of the new NSConnection object. See Configuring a Connection for more information. あるNSConnectionが存在する、それはreceivePortをそれのポートの両方として使うならば、それは新しいNSConnectionオブジェクトの親として扱われます、そしてそれのルートオブジェクトと全ての構成設定セッティングは新しいNSConnectionオブジェクトに適用されます。あなたは、新しいNSConnectionオブジェクトに対する名前を登録しないしそのルートオブジェクトも設定しないはずです。Configuring a Connectionをさらなる情報として見てください。

  • If receivePort and sendPort are different and neither is shared with another NSConnection object, the receiver can be used to vend an object as well as to communicate with other NSConnection objects. However, it has no other NSConnection object to communicate with until one is set up. receivePortsendPortが異なるそしてどちらも別のNSConnectionオブジェクトと共有されないならば、レシーバはあるオブジェクトを販売するために、それだけでなく他のNSConnectionオブジェクトと通信するために使われることができます。しかしながら、それは通信する他のNSConnectionオブジェクトをまったく持ちません、ひとつ準備されるまでは。

  • The receivePort parameter can’t be shared by NSConnection objects in different threads. receivePortパラメータは、異なるスレッドにおいてNSConnectionオブジェクトによって共有されることはできません。

This method is the designated initializer for the NSConnection class. このメソッドは、NSConnectionクラスに対する指定イニシャライザです。

See Also 参照

Creating Instances インスタンスを作成する

Related Documentation 関連文書