Добрый день. Я вывожу список с помощью List и ForEach. Мне надо, что бы по нажатию на любую строку этого списка вызывался sheet с данными из этой строки. Пробую делать так:
@State private var showSheet = false
var body: some View {
List {
ForEach(self.exp, id: \.self.id) { exp in
VStack {
Text(exp.text1)
Text(exp.text2)
}
.onTapGesture {
self.showSheet = true
}
.sheet(isPresented: self.$showSheet) {
SomeView(exp)
}
}
}
}
self.exp получаю из CoreData
И вроде при касании по строке sheet вызывается, но вызывается как будто бы коснулись первую строку, хотя по факту касание может быть и по пятой строке. Я так понимаю, что при касании даже по пятой строке, showSheet становится True и вызывается первый sheet который ждет это условие. А это именно sheet для первой строки.
Так вот как из .onTapGesture передать параметр в .sheet, что бы именно с этим параметром вызывался SomeView?