Я пытаюсь удалить элемент из scrollView, когда пользователь долго нажимает на него.
поэтому, если элемент представления прокрутки поступает из простого массива (с именем post), мне удаетсяполучить isse, используя firstIndex (of: item)! и
ScrollView(.horizontal, content: {
HStack(spacing: 100) {
ForEach(post, id: \.self){ item in
ZStack {
Text(item).onTapGesture {
self.post.remove(at: self.post.firstIndex(of: item)!)
}
}
}
.padding(.leading, 10)
}
})
мой isse теперь, если мой массив (именованное хранилище) имеет тип модель:
class DataModel:Identifiable , Codable {
var nameAirport : String
var countryAirport : String
var icaoAirport : String
var metar: String
var taf : String
как я могу найти индекс для передачи в методе remove? .firstIndex (at:) не существует. Я нашел только .firstIndex (где :), но не могу найти, как его использовать? Любая идея, как найти этот индекс?
здесь, под моим кодом? спасибо за помощь ...
ScrollView(.horizontal, showsIndicators: true) {
HStack(spacing: 10) {
ForEach(dm.storage) { item in
VStack {
Text(item.icaoAirport).onLongPressGesture {
self.dm.storage.remove(at: ) //// how can i get index
///
}
}
}
}
}