Daniel Marino
8 november 2024
De aangepaste UIView-initialisatie-isolatiefout van de hoofdacteur in Swift 6 repareren

Ontwikkelaars kunnen bij het updaten naar Swift 6 een onverwacht isolatieprobleem van de hoofdacteur tegenkomen in hun UIView-subklassen, vooral bij het initialiseren met awakeFromNib(). Het aanroepen van door de hoofdacteur geïsoleerde methoden, zoals addContentView(), in een synchrone, niet-geïsoleerde context resulteert vaak in dit probleem. De nieuwe gelijktijdigheidsbeperkingen in Swift 6 zijn bedoeld om de prestaties en veiligheid te verbeteren, maar vragen ook om wijzigingen in al lang bestaande procedures. In dit artikel wordt uitgelegd hoe u deze problemen kunt oplossen en een veilige en efficiënte UI-installatie op de hoofdthread mogelijk kunt maken door hulpprogramma's als MainActor.assumeIsolated en Task te gebruiken.