Код: Выделить всё
import SwiftUI
import RealityKit
import RealityKitContent
import MyFoo
struct ContentView: View {
@Environment(MyFoo.self) private var foo: MyFoo
@State private var message : String?
var body: some View {
VStack {
Model3D(
named: "Scene",
bundle: realityKitContentBundle
).padding(.bottom, 50)
if let msg = self.message {
Text(msg)
} else {
Text("No message yet.")
}
}
.padding()
.onAppear(perform: connectToMyFoo)
}
@MainActor
private func connectToMyFoo() {
DispatchQueue.main.async {
Task {
await self.foo.initialize()
// ...
}
}
}
}
Прохождение аргумента не поддающегося типа 'myfoo' Вне основного актера, изолированного контекстом, может вводить расы данных; Это ошибка в языковом режиме Swift 6
Сообщение, которое я растут о том, как я потратил гораздо больше времени, чем я хотел бы признать, пытаясь заставить его уйти. ) в главном актере изолят , когда весь кровавый язык не хочет сотрудничать?!
запустить foo.initialize () . Сделайте это на главном актере. Подождите, пока это не будет сделано. Это не должно быть так чертовски тяжело.
Подробнее здесь: https://stackoverflow.com/questions/794 ... main-actor
Мобильная версия