小编Ant*_*ton的帖子

无法在 SwiftUI 中使用 ForEach 和 CoreData 将数据正确传递到模态演示

我试图将某个对象的数据从对象列表传递到模式表,从 CoreData 获取数据。

问题是无论我在列表中单击什么对象,详细信息视图中都只显示最后添加的数据表单对象。

删除对象也是如此 - 无论我试图删除什么对象,最后一个都会被删除。

使用 NavigationLink 问题消失了,但它不适合我。

这是我的代码:

import SwiftUI

struct CarScrollView: View {

    @Environment(\.managedObjectContext) var moc
    @FetchRequest(entity: Cars.entity(), sortDescriptors: []) var cars: FetchedResults<Cars>

    @State var showDetails = false

    var body: some View {
        VStack {
            ScrollView (.vertical, showsIndicators: false) {
                ForEach (cars, id: \.self) { car in

                    Text("\(car.text!)")
                        .onTapGesture {
                            self.showDetails.toggle()
                    }
                    .sheet(isPresented: self.$showDetails) { CarDetail(id: car.id, text: car.text)
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

core-data ios swift swiftui swiftui-list

2
推荐指数
1
解决办法
1195
查看次数

Picker 不会从 CoreData (SwiftUI) 中选择值

我正在尝试从 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")
                        }
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

结果: 在此处输入图片说明

xcode core-data ios swift swiftui

1
推荐指数
1
解决办法
728
查看次数

标签 统计

core-data ×2

ios ×2

swift ×2

swiftui ×2

swiftui-list ×1

xcode ×1