Понимание предупреждения: этот класс SwiftUI.AccessibilityNode не является известным сериализуемым элементом - PullRequest
3 голосов
/ 23 октября 2019

Я собрал простой проект, основанный на понимании, используя классы и структуры в быстром темпе. Я получаю следующее предупреждение при запуске этого кода на симуляторе:

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' равенне известный сериализуемый элемент, и возвращение его в качестве элемента доступности может привести к сбоям

Предупреждение появляется при работе на симуляторе. Он появляется при первом нажатии кнопки «Добавить». Если я работаю на реальном устройстве, я не получаю предупреждение. Я пришел к выводу, что это проблема симулятора, а не проблема устройства.

Объяснение причин появления этого предупреждения и любые предложения по улучшению моей реализации приветствуются.

...