---
title: MainActor
framework: swift
role: symbol
role_heading: Class
path: swift/mainactor
---

# MainActor

A singleton actor whose executor is equivalent to the main dispatch queue.

## Declaration

```swift
@globalActor final actor MainActor
```

## Topics

### Instance Properties

- [unownedExecutor](swift/mainactor/unownedexecutor.md)

### Instance Methods

- [enqueue(_:)](swift/mainactor/enqueue(_:).md)

### Type Aliases

- [MainActor.ActorType](swift/mainactor/actortype.md)

### Type Properties

- [shared](swift/mainactor/shared.md)
- [sharedUnownedExecutor](swift/mainactor/sharedunownedexecutor.md)

### Type Methods

- [assumeIsolated(_:file:line:)](swift/mainactor/assumeisolated(_:file:line:).md)
- [run(resultType:body:)](swift/mainactor/run(resulttype:body:).md)

### Default Implementations

- [Actor Implementations](swift/mainactor/actor-implementations.md)
- [GlobalActor Implementations](swift/mainactor/globalactor-implementations.md)

## Relationships

### Conforms To

- [Actor](swift/actor.md)
- [GlobalActor](swift/globalactor.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Actors

- [Sendable](swift/sendable.md)
- [Actor](swift/actor.md)
- [AnyActor](swift/anyactor.md)
- [GlobalActor](swift/globalactor.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [ConcurrentValue](swift/concurrentvalue.md)
- [UnsafeSendable](swift/unsafesendable.md)
- [UnsafeConcurrentValue](swift/unsafeconcurrentvalue.md)
- [isolation()](swift/isolation().md)
- [extractIsolation(_:)](swift/extractisolation(_:).md)
