Я собрал простой проект, основанный на понимании, используя классы и структуры в быстром темпе. Я получаю следующее предупреждение при запуске этого кода на симуляторе:
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' равенне известный сериализуемый элемент, и возвращение его в качестве элемента доступности может привести к сбоям
Предупреждение появляется при работе на симуляторе. Он появляется при первом нажатии кнопки «Добавить». Если я работаю на реальном устройстве, я не получаю предупреждение. Я пришел к выводу, что это проблема симулятора, а не проблема устройства.
Объяснение причин появления этого предупреждения и любые предложения по улучшению моей реализации приветствуются.