Contents

continueAsynchronousWorkOnMainThread(_:)

Invokes the passed-in block on the main thread.

Declaration

nonisolated func continueAsynchronousWorkOnMainThread(_ block: @escaping () -> Void)

Parameters

  • block:

    The block to be invoked.

Discussion

If the main thread is blocked by an invocation of performActivity(withSynchronousWaiting:using:) or performSynchronousFileAccess(_:), this method interrupts that blocking activity, performs the specified block, and then resumes the blocking activity after block returns. Invocations of this method always return before the passed-in block is invoked.

You can invoke this method when work is being done on a non-main thread and part of the work must be continued on the main thread. For example, save(to:ofType:for:completionHandler:) uses this method when it has just completed the actual writing of the file during asynchronous saving and, to finish the saving operation, must invoke updateChangeCount(withToken:for:) and other methods on the main thread.

This method can be invoked on any thread.

See Also

Performing Tasks Serially