Как это улучшить? Средство выбора возвращает пустую строку, когда я использую ForEach
(сущности CoreData). Если я использую testing[String]
, все работает нормально
import SwiftUI
struct AddTask: View {
@Environment(\.managedObjectContext) var moc
@FetchRequest(entity: Goal.entity(), sortDescriptors: []) var goals: FetchedResults<Goal>
@State private var taskName: String = ""
@State private var originGoal = ""
private let testGoal = ["Alpha", "Bravo", "Charlie"]
var body: some View {
NavigationView {
Form {
Section{
TextField("Enter Task Name", text: $taskName)
}
Section {
Picker(selection: $originGoal, label: Text("Choose Goal")) {
ForEach(goals, id: \.self) { goal in
Text(goal.wrappedName)
}
}
}
}
}
Button("Add") {
let task1 = Task(context: self.moc)
task1.name = taskName
task1.origin = Goal(context: self.moc)
task1.origin?.name = originGoal
try? self.moc.save()
}
}
}
Или, может быть, есть хорошие альтернативы для SwiftUI Picker?