Class

AMWorkflow​Controller

The AMWorkflow​Controller class lets you manage an Automator workflow in your application. You use the AMWorkflow class to instantiate a workflow and an instance of AMWorkflow​View 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:​with​Input:​). When you use AMWorkflow​Controller, 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 workflow​View:​ AMWorkflow​View?

Returns the receiver's workflow view.

Accessing the delegate

var delegate:​ Any​Object?

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 workflow​Controller​Will​Run(AMWorkflow​Controller)

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

func workflow​Controller​Did​Run(AMWorkflow​Controller)

Tells the delegate that the workflow controller object finished running.

func workflow​Controller​Will​Stop(AMWorkflow​Controller)

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

func workflow​Controller​Did​Stop(AMWorkflow​Controller)

Tells the delegate that the workflow controller object has stopped.

Getting workflow information

var can​Run:​ Bool

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

var is​Paused:​ Bool

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

var is​Running:​ Bool

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

Running an action in the workflow

func workflow​Controller(AMWorkflow​Controller, did​Run:​ AMAction)

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

func workflow​Controller(AMWorkflow​Controller, will​Run:​ AMAction)

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

Errors messages

func workflow​Controller(AMWorkflow​Controller, did​Error:​ Error)

Invoked when the receiver's workflow encounters an error.

Relationships

Inherits From