Я пытаюсь сгенерировать ForEach с NavigationLink и использовать State и Binding для передачи некоторой сущности:
struct ContentView: View {
@Environment(\.managedObjectContext) var moc
@FetchRequest(
entity: MyEntity.entity(),
sortDescriptors: [
NSSortDescriptor(keyPath: \MyEntity.name, ascending: true)
]
) var entries: FetchedResults<MyEntity>
var body: some View {
NavigationView {
List {
ForEach(entries, id: \.self) { (entry: MyEntity) in
NavigationLink(destination: DetailView(myEntry: $entry)) {
Text(entry.name!)
}
}.
}
}
}
}
И затем следующее представление:
struct DetailView: View {
@Binding var myEntry: MyEntity
var body: some View {
Text(myEntry.name!)
}
}
проблема в том, что я не могу передать значение в подробный вид, так как ошибка:
Use of unresolved identifier '$entry'
Что здесь не так и как это решить?
Если у меня просто есть @State
его Нет проблем, чтобы передать его через привязку, но я хочу / нужно использовать его в ForEach для FetchedResults
РЕДАКТИРОВАТЬ: Если я удаляю $
я получаю Cannot convert value of type 'MyEntity' to expected argument type 'Binding<MyEntity>'
EDIT2: цель состоит в том, чтобы передать некоторый объект в DetailView, а затем передать его обратно в ContentView