Class

AMWorkflowController

The AMWorkflowController class lets you manage an Automator workflow in your application. You use the AMWorkflow class to instantiate a workflow and an instance of AMWorkflowView to display it.

Overview

A controller can run and stop a workflow and obtain information about its state. The controller’s delegate can receive messages as the workflow is executed and its actions are run.

You can load and run a workflow with minimal overhead by using the AMWorkflow class method run(at:withInput:). When you use AMWorkflowController, you get more control of the process, but there’s more work, as you must create and initialize both the workflow and the workflow controller objects.

A workflow is run in a separate process so that any actions it contains are executed in a separate memory space. That helps to insulate your application from crashes, memory leaks, or exceptions that might occur from running the actions in a workflow.

Symbols

Accessing the workflow

var workflow: AMWorkflow?

Returns the receiver's workflow.

Accessing the workflow view

var workflowView: AMWorkflowView?

Returns the receiver's workflow view.

Accessing the delegate

var delegate: AnyObject?

Returns the receiver's delegate.

Controlling the workflow

func pause(Any)

Pauses a workflow that is running.

func reset(Any)

Stops a workflow, clears any action results, and resets the workflow back to an un-run state.

func run(Any)

Runs the associated workflow, after first clearing any results stored by its actions during any previous run.

func step(Any)

In a paused workflow, runs the next action in the workflow and then pauses again.

func stop(Any)

Stops the associated workflow.

func workflowControllerWillRun(AMWorkflowController)

Tells the delegate that the workflow controller object is about to run.

func workflowControllerDidRun(AMWorkflowController)

Tells the delegate that the workflow controller object finished running.

func workflowControllerWillStop(AMWorkflowController)

Tells the delegate that the workflow controller object is about to stop.

func workflowControllerDidStop(AMWorkflowController)

Tells the delegate that the workflow controller object has stopped.

Getting workflow information

var canRun: Bool

Returns a Boolean value that indicates whether the receiver's workflow is able to run.

var isPaused: Bool

A Boolean value that indicates whether the receiver's workflow is currently paused.

var isRunning: Bool

A Boolean value that indicates whether the receiver's workflow is currently running.

Running an action in the workflow

func workflowController(AMWorkflowController, didRun: AMAction)

Invoked when an action in the receiver's workflow is finished running.

func workflowController(AMWorkflowController, willRun: AMAction)

Invoked when an action in the receiver's workflow is about to run.

Errors messages

func workflowController(AMWorkflowController, didError: Error)

Invoked when the receiver's workflow encounters an error.

Relationships

Inherits From