有人可以告诉我为什么这个选择不起作用吗?如果我单击其中一行,则ForEach什么也不会发生:/
@FetchRequest(fetchRequest: ContentView.manufacturerByName)
var manufacturers:FetchedResults<Manufacturer>
@State private var selection: Manufacturer?
Section("Manufacturer") {
List(selection: $selection) {
ForEach(manufacturers, id:\.self) { manufacturer in
Text(manufacturer.name ?? "--")
}
.onDelete { rows in
for row in rows {
let manufacturer = manufacturers[row]
storageProvider.deleteManufacturer(manufacturer)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
该.onDelete方法效果很好。
我想要实现的是,当单击制造商行时,
我知道 AppStore 不允许使用烟草的应用程序。这只是一个学习应用程序。
MyApp.swift
@main
struct MyApp: App {
let storageProvider = StorageProvider.standard
var body: some Scene {
WindowGroup {
ContentView(storageProvider: storageProvider)
.environment(\.managedObjectContext, storageProvider.persistentContainer.viewContext)
}
}
}
Run Code Online (Sandbox Code Playgroud)
ContentView.swift
import SwiftUI …Run Code Online (Sandbox Code Playgroud)