Daniel Marino
8 lapkričio 2024
„Swift 6“ tinkintos UIView inicijavimo pagrindinio veikėjo izoliacijos klaidos taisymas
Kūrėjai gali pastebėti netikėtą pagrindinio veikėjo izoliavimo problemą savo UIView poklasiuose, kai atnaujinami į Swift 6, ypač kai inicijuojama naudojant awakeFromNib(). Ši problema dažnai sukelia pagrindinių veikėjų izoliuotų metodų, pvz., addContentView(), iškvietimą sinchroniniame, neizoliuotame kontekste. Nauji „Swift 6“ lygiagretumo apribojimai skirti padidinti našumą ir saugą, tačiau jie taip pat reikalauja pakeisti ilgalaikes procedūras. Šiame straipsnyje paaiškinama, kaip išspręsti šias problemas ir įgalinti saugią bei veiksmingą vartotojo sąsajos sąranką pagrindinėje gijoje naudojant tokias priemones kaip MainActor.assumeIsolated ir Task.