Mac Developer Library

Developer

Foundation Framework Reference NSCreateCommand Class Reference

Options
Deployment Target:

On This Page
Language:

NSCreateCommand

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

Inheritance


Conforms To


Import Statement


Swift

import Foundation

Objective-C

@import Foundation;

Availability


Available in OS X v10.0 and later.
  • Returns the class description for the class that is to be created.

    Declaration

    Swift

    var createClassDescription: NSScriptClassDescription { get }

    Objective-C

    @property(readonly, retain) NSScriptClassDescription *createClassDescription

    Return Value

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

    Import Statement

    Objective-C

    @import Foundation;

    Swift

    import Foundation

    Availability

    Available in OS X v10.0 and later.

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

    Declaration

    Swift

    var resolvedKeyDictionary: [NSObject : AnyObject] { get }

    Objective-C

    @property(readonly, copy) 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.

    Import Statement

    Objective-C

    @import Foundation;

    Swift

    import Foundation

    Availability

    Available in OS X v10.0 and later.