A command that creates a scriptable object.


@interface NSCreateCommand : NSScriptCommand


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 is part of Cocoa’s built-in scripting support. Most applications don’t need to subclass NSCreateCommand or invoke its methods.

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:.

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 NO when sent an isLocationRequiredToCreateForKey: message, the NSCreateCommand object creates a new object and sends the receiver an insertValue:atIndex: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.


Getting information about a create command


Returns the class description for the class that is to be created.


Returns a dictionary that contains the properties that were specified in the make Apple event command that has been converted to this NSCreateCommand object.


Inherits From

See Also

Script Commands


A self-contained scripting statement.


A command that quits the specified app.


A command that sets one or more attributes or relationships to one or more values.


A command that moves one or more scriptable objects.


A command that deletes a scriptable object.


A command that determines whether a scriptable object exists.


A command that retrieves a value or object from a scriptable object.


A command that clones one or more scriptable objects.


A command that counts the number of objects of a specified class in the specified object container.


A command that closes one or more scriptable objects.