SwiftUI — использование результата извлечения CoreData для заполнения средства выбораIOS

Программируем под IOS
Ответить
Anonymous
 SwiftUI — использование результата извлечения CoreData для заполнения средства выбора

Сообщение Anonymous »

Я следую всем руководствам, которые видел в Интернете, чтобы добавить управляемый объект в сцену SwiftUI со средой, а затем запустить @FetchRequest в сцене, все работает отлично.

Я могу использовать этот результат для заполнения значения средства выбора

Вот что у меня есть

Объект CoreData

Код: Выделить всё

    public class CD_LookupData: NSManagedObject,Identifiable {}

extension CD_LookupData {

@nonobjc public class func fetchRequest() -> NSFetchRequest {
return NSFetchRequest(entityName: "CD_LookupData")
}

@NSManaged public var lookluptable: String?
@NSManaged public var primarykeyid: String?
@NSManaged public var value: String?

}
Просмотр SwiftUI

Код: Выделить всё

struct LabledSelectBoxCD: View {
var label: String
var lookupdata: FetchedResults

@Binding var value: Int

var body: some View
{
VStack(alignment: .leading)
{
Picker(selection: $value, label: Text(""))
{
ForEach(lookupdata, id: \.primarykeyid)
{ data in
Text(data.value ?? "Unknown")
}
}
}
}
}
Он прекрасно заполняет средство выбора значениями, но мое значение по умолчанию никогда не работает, и ни одно выбранное значение не сохраняется.

Если я попробую то же представление только с массивом строк, оно сработает отлично.

Есть идеи о том, как я могу заставить его использовать значение первичного ключа в качестве значения средства выбора?

Обновление:

Код: Выделить всё

@Binding var value: String
и

Код: Выделить всё

Text(data.value ?? "Unknown").tag(data.primarykeyid)
Не вносить никаких изменений

Подробнее здесь: https://stackoverflow.com/questions/580 ... ate-picker
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»