Overview
概要
An instance of NSCreateCommand
creates the specified scriptable object (such as a document), optionally supplying the new object with the specified attributes. This command corresponds to AppleScript’s make
command.
NSCreateCommand
のインスタンスは、指定されたスクリプト対応オブジェクト(例えば書類など)を作成して、随意に指定された属性を持つ新しいオブジェクトを提供します。この命令は、AppleScriptのもつmake
コマンドに相当します。
NSCreateCommand
is part of Cocoa’s built-in scripting support. Most applications don’t need to subclass NSCreateCommand
or invoke its methods.
NSCreateCommand
は、Cocoaの組込みスクリプティングサポートの一部です。ほとんどのアプリケーションは、NSCreateCommand
のサブクラスを作ったりそれのメソッドを発動したりする必要はありません。
When an instance of NSCreateCommand
is executed, it creates a new object using [[theClassToBeCreated allocWithZone:NULL] init]
(where theClassToBeCreated
is the class of the object to be created), unless the command has a with data
argument. In the latter case, the new object is created by invoking [[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:theDataAsAnObject toClass:theClassToBeCreated]
. Any properties specified by a with properties
argument are then set in the new object using -setScriptingProperties:
.
NSCreateCommand
のインスタンスが実行される場合、それは新しいオブジェクトを[[theClassToBeCreated allocWithZone:NULL] init]
を使って作成します(そこでtheClassToBeCreated
は作成されるオブジェクトのクラスです)、しかしそのコマンドがwith data
引数を持つ場合を除きます。あとの場合には、新しいオブジェクトは[[NSScriptCoercionHandler sharedCoercionHandler] coerceValue:theDataAsAnObject toClass:theClassToBeCreated]
を発動することによって作成されます。with properties
引数によって指定されるあらゆるプロパティは、それから新しいオブジェクトにおいて-setScriptingProperties:
を使って設定されます。
If an NSCreateCommand
object with no argument corresponding to the at
parameter is executed (for example, tell application "Mail" to make new mailbox with properties {name:"testFolder"}
), and the receiver of the command (not necessarily the application object) has a to-many relationship to objects of the class to be instantiated, and the class description for the receiving class returns false
when sent an isLocationRequiredToCreateForKey:
message, the NSCreateCommand
object creates a new object and sends the receiver an insertValue(_:at:inPropertyWithKey:)
message to place the new object in the container. This is part of Cocoa’s scripting support for inserting newly-created objects into containers without explicitly specifying a location.
あるNSCreateCommand
オブジェクトでat
パラメータと結び付けられる引数を持たないものが実行される(例えば、tell application "Mail" to make new mailbox with properties {name:"testFolder"}
)、そしてコマンドのレシーバ(必ずしもアプリケーションオブジェクトではない)がクラスのオブジェクトに対する対多関係を持つことでインスタンス化される、そして受取手のクラスに対するクラス記述がfalse
をisLocationRequiredToCreateForKey:
メッセージを送られた時に返すならば、NSCreateCommand
オブジェクトはある新しいオブジェクトを作成して、レシーバにinsertValue(_:at:inPropertyWithKey:)
メッセージを送ることで、その新しいオブジェクトをそのコンテナの中に置きます。これは、新規作成オブジェクトを明示的な場所指定なしにコンテナそれらに挿入するための、Cocoaの持つスクリプティングサポートの一部です。