Как получить индекс удаленной строки из списка в SwiftUI? - PullRequest
2 голосов
/ 02 мая 2020

Я хочу удалить элемент из массива, который я отображаю в виде списка, используя ForEach, но мне также нужно отправить запрос HTTP на REST API, и мне нужно поместить индекс элемент в теле запроса. Вот мой код:

ForEach(self.symptoms, id: \.self) { symptom in
           VStack(alignment: .leading) {
                    Text(symptom)
            }
}.onDelete(perform: delete)

Вот функция удаления:

func delete(at offsets: IndexSet) {     
      self.symptoms.remove(atOffsets: offsets)
      // here I want to make the HTTP request
}

1 Ответ

3 голосов
/ 02 мая 2020

Если вы удалите по одному, то следующий индекс даст вам индекс удаленной строки

func delete(at offsets: IndexSet) {     
      self.symptoms.remove(atOffsets: offsets)

      // here I want to make the HTTP request
      let index = offsets[offsets.startIndex]

      // ... use index in HTTP request
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...