Проблема с двумя сборщиками SwiftUI в одном представлении - PullRequest
1 голос
/ 15 марта 2020

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

У меня есть форма с двумя сборщиками SwiftUI, и я тестирую ее в эмуляторе IPhone 11. Сборка выполнена успешно, но каждый раз, когда я выбираю второй инструмент выбора, приложение вылетает с ошибкой «Тема 1: EXC_BAD_ACCESS (code = 2, address = 0x7ffee14e4fe8)».

Мой код:

static let categories = ["a", "b", "c"]
static let shops = ["z", "v", "x", "y"]

@State private var categoryIndex = 0
@State private var shopIndex = 0

var body: some View {
        Form {
            Picker("Category", selection: $categoryIndex) {
                ForEach(0 ..< Self.categories.count) { index in
                    Text(Self.categories[index]).tag(index)
                }
            }
            Picker("Shop", selection: $shopIndex) {
                ForEach(0 ..< Self.shops.count) { index in
                    Text(Self.shops[index]).tag(index)
                }
            }
        }
}

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

Есть идеи?

Спасибо

Джанпьеро

1 Ответ

0 голосов
/ 15 марта 2020

Оберните Form в NavigationView, и тогда у вас будет возможность выбрать значения:

var body: some View {
    NavigationView {
        Form {
            Picker("Category", selection: $categoryIndex) {
                ForEach(0 ..< Self.categories.count) { index in
                    Text(Self.categories[index]).tag(index)
                }
            }
            Picker("Shop", selection: $shopIndex) {
                ForEach(0 ..< Self.shops.count) { index in
                    Text(Self.shops[index]).tag(index)
                }
            }
        }.navigationBarTitle(Text("Form"))
    }
}
...