Я передаю переменную связывания в другое представление:
struct PocketlistView: View {
@ObservedObject var pocket = Pocket()
@State var isSheetIsVisible = false
var body: some View {
NavigationView{
List{
ForEach(Array(pocket.pockets.enumerated()), id: \.element.id) { (index, pocketItem) in
VStack(alignment: .leading){
Text(pocketItem.name).font(.headline)
Text(pocketItem.type).font(.footnote)
}
.onTapGesture {
self.isSheetIsVisible.toggle()
}
.sheet(isPresented: self.$isSheetIsVisible){
PocketDetailsView(pocketItem: self.$pocket.pockets[index])
}
}
}
.listStyle(GroupedListStyle())
.navigationBarTitle("Pockets")
}
}
}
другое представление:
struct PocketDetailsView: View {
@Binding var pocketItem: PocketItem
var body: some View {
Text("\(pocketItem.name)")
}
}
Почему я вижу первый элемент, когда открываю лист для второй или третьей строки ? Когда я использую NavigationLink вместо .sheet, он отлично работает