Средство выбора не выбирает значение из CoreData (SwiftUI) - PullRequest
1 голос
/ 19 января 2020

Я пытаюсь выбрать объект из хранилища CoreData, но средство выбора не работает - оно не показывает выбранный объект.

Мой код:

import SwiftUI

struct SampleView: View {
    @FetchRequest(entity: Aircraft.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Aircraft.model, ascending: true)]) var aircrafts: FetchedResults<Aircraft>
    @State private var selection: UUID? = UUID()

    var body: some View {
        NavigationView {
            VStack {
                Form {
                    Picker(selection: $selection, label: Text("Picker")) {
                        ForEach(aircrafts, id: \.self) { aircraft in
                            Text(aircraft.model ?? "Unknown")
                        }
                    }
                }
            }
        }
    }
}

Результат: enter image description here

1 Ответ

5 голосов
/ 19 января 2020

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

@State private var selection: Aircraft? = nil

попробуйте с .tag, как показано ниже

ForEach(aircrafts, id: \.self) { aircraft in
    Text(aircraft.model ?? "Unknown").tag(aircraft as Aircraft?)
}

Обновлено (необязательный параметр c): согласно комментарию @ user3687284

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...