Я извлекаю данные из основных данных и отображаю их в окне выбора, это представление встроено в SwiftUI. Сначала я изо всех сил пытался заставить выбор работать с помощью средства выбора, но обнаружил, что, если я предварительно выберу первый объект из результата выборки в начале представления, выбор средства выбора сработает.
Что я хочу, так это иметь возможность загружать свои данные в средство выбора, но не выбирать предварительно один из объектов. Опять же, если я обновлю приведенный ниже код, чтобы ничего не было выбрано заранее, я ничего не смогу выбрать. Я добираюсь до экрана опций, но когда я нажимаю на одну из них, ничего не происходит, я просто получаю эту маленькую вспышку в строке. Мне нужно нажать кнопку "Назад", чтобы вернуться к просмотру формы.
Есть какие-нибудь идеи о том, как заставить работать загрузку основных данных в средство выбора без предварительного выбора одного из вариантов?
-Спасибо!
import SwiftUI
import CoreData
struct RecordCreateview: View {
@FetchRequest private var actions: FetchedResults<Actions>
@State private var selectedAction: Actions
init(context: NSManagedObjectContext) {
let fetchRequest: NSFetchRequest<Actions> = Actions.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor(keyPath: \Actions.action, ascending: true)]
fetchRequest.predicate = NSPredicate(value: true)
self._actions = FetchRequest(fetchRequest: fetchRequest)
do {
let fetchResult = try context.fetch(fetchRequest)
self._selectedAction = State(initialValue: fetchResult[0])
} catch {
fatalError("Problem fetching Action records.")
}
}
var body: some View {
NavigationView {
Form {
Picker("Select action", selection: $selectedAction){
ForEach(actions) { action in
if action.title == true {
Text("\(action.action!)").tag(action)
}
}
}
}
}
}
}