我整理了一个简单的项目,以快速理解类和结构为基础。在模拟器上运行此代码时,我收到以下警告:
ContentView.swift
import SwiftUI
struct ContentView: View {
@EnvironmentObject var app: App
var body: some View {
VStack{
ForEach(app.users.names, id: \.self) { name in
Text("\(name)")
}
Spacer()
Button(action: {self.app.users.add()}) {
Text("add")
}
}
}
}
class App: ObservableObject {
@Published var users = Users()
}
struct Users {
var names = ["Mac", "Alex", "Kevin"]
mutating func add() {
names.append("NEW GUY")
}
}
SceneDelegate.swift
var app = App()
let contentView = ContentView().environmentObject(app)
输出:
2019-10-23 14:55:51.207032-0500 ExtendedClassDemo [43035:1908988] [AXRuntimeCommon]类'SwiftUI.AccessibilityNode'不是已知的可序列化元素,将其作为可访问性元素返回可能会导致崩溃
在模拟器上运行时出现警告。最初单击添加按钮时,它将弹出。如果我在实际设备上运行,则不会收到警告。我认为这是模拟器问题,而不是实际设备问题。
对于为什么会产生此警告的解释以及改善我的实施的任何建议,我们深表感谢。