NSCreateCommand Class Reference

Inherits from
Conforms to
Framework
/System/Library/Frameworks/Foundation.framework
Availability
Available in OS X v10.0 and later.
Companion guide
Declared in
NSScriptStandardSuiteCommands.h

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

Tasks

Getting Information About a Create Command

Instance Methods

createClassDescription

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

- (NSScriptClassDescription *)createClassDescription
Return Value

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

Availability
  • Available in OS X v10.0 and later.
Declared In
NSScriptStandardSuiteCommands.h

resolvedKeyDictionary

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

- (NSDictionary *)resolvedKeyDictionary
Return Value

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

Discussion

The keys in the returned dictionary are the names of properties (attributes or relationships, in the script suite) that have been specified for the command, and the corresponding values in the dictionary are the values that those properties should take. The required and optional arguments for the make command are specified in the core suite definition, NSCoreSuite.scriptSuite.

Availability
  • Available in OS X v10.0 and later.
Declared In
NSScriptStandardSuiteCommands.h