iosswiftconcurrencymainactor

Are extensions of @MainActor classes on the main actor?


If a class is on @MainActor:

@MainActor class MyClass : NSObject
{
}

does this put all its extensions on @MainActor as well?

extension MyClass
{
}

Solution

  • Yes. As SE-0316 - Global actors says:

    A type declared with a global actor attribute propagates the attribute to all methods, properties, subscripts, and extensions of the type by default.