這個問題在這里已經有了答案: 如何修復“需要全域演員'MainActor'的運算式不能出現在屬性'_audioPlaybackManager'的默認值運算式中”? (2 個回答) 3天前關閉。
Xcode 不斷拋出一個編譯器錯誤,它不符合尚未公開的 Swift 6。它僅在我下載 13.3 Xcode 時才開始。
錯誤內容如下:
需要全域角色“MainActor”的運算式不能出現在屬性“_api”的默認值運算式中;這是 Swift 6 中的錯誤
我的代碼正在執行這樣的狀態物件呼叫:
@StateObject var api = RecipeAPI()
我已經除錯并關閉并重新打開了所有內容,但沒有任何變化。也向蘋果報告了它。
最好的,
伊姆蘭
uj5u.com熱心網友回復:
這是 Swift 5 中的警告。在 Swift 6 中,這將是一個錯誤。它建議您現在修復它,但將來它會破壞構建。您要求所有內容(包括在initMainActor 上運行,但不承諾此分配在 MainActor 本身上運行(可能是因為它所屬的型別也未標記@MainActor)。您可能會發現其中很多在 5.6 中非常難以修復。他們仍在調整警告。(因此,當您開始制定下一個問題“如何在處理 SwiftUI 和 Foundation 時消除所有 Swift 并發警告”時,答案可能是“您不能,或者至少不是以任何簡單的方式。”這取決于確切的問題。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/449113.html
