Я думал, что знаю, как удалить ячейку из таблицы, я делал это раньше, но в последнее время все пошло не так хорошо.
В предыдущем приложении для iOS, которое я создал, я использовал UITableView для отображения элементов. Результаты выглядели так:
![Image #1](https://i.stack.imgur.com/fWNfK.png)
Пока все хорошо. Чтобы удалить ячейку из таблицы, я использовал функцию commit editingStyle
, которая позволила бы мне провести по ячейке, и появилась бы красная кнопка «Удалить»:
![Image #2](https://i.stack.imgur.com/S6yHI.png)
И это именно то, как я этого хотел. И теперь я делал новое приложение, которое также использовало бы табличное представление, и я хотел реализовать эту функцию, чтобы удалить функцию и заставить ее работать так же, как и раньше. Поэтому я добавил функцию commit editingStyle
и написал некоторый код для удаления элемента в массиве, который содержит данные моей ячейки, а затем некоторый код для удаления самой ячейки. Но когда я запустил приложение, я получил это:
![Image #3](https://i.stack.imgur.com/wUjED.png)
В моей камере был красный круг с линией, проходящей через нее. Нажатие на кружок показало нужную кнопку удаления, но я не хотел, чтобы приложение работало. Я хотел провести, чтобы удалить, как у меня было раньше. Ну, я предположил, что на этот раз я сделал что-то по-другому, поэтому я начал исследовать онлайн, чтобы найти правильный путь. Но каждое решение, которое я нашел, давало одинаковые результаты. Я просмотрел около двух десятков веб-страниц, прежде чем окончательно сдаться. Я решил открыть свой другой проект и просто вытащить код оттуда, поскольку я знал, что код был опробован и соответствует действительности. Так я и сделал, и получил те же результаты! Вот мой код:
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == UITableViewCell.EditingStyle.delete {
Variables.numbers.remove(at: indexPath.row)
self.tableView.deleteRows(at: [indexPath], with: .automatic)
}
}
Итак, у меня два разных приложения, выполняющих по сути один и тот же код, но оба они дают два совершенно разных результата. В чем здесь дело? Я что-то забыл?
ОК, так что с меня хватит. Я решил отказаться от удара, чтобы полностью удалить идею, все мои работы и исследования все еще не дали желаемых результатов. Этот круг раздражал, и, кстати, я не хотел его там. Я собирался сделать что-то другое. Поэтому я полностью удалил функцию commit editingStyle
и любой код, связанный с ней, и запустил свое приложение. И, к моему ужасу, этот маленький красный круг все еще был там !!! Я перепробовал все, что знал, чтобы убрать этот маленький красный кружок, но он все еще был там !!! Итак, я оставил проект в течение недели или двух, несколько расстроенный и совершенно не зная, что делать. Когда я вернулся, тот маленький красный кружок все еще был там (не удивительно). Я хочу закончить этот проект, но я совершенно не уверен, что делать.
Кто-нибудь имеет представление о том, что я могу сделать, чтобы убрать этот маленький красный круг и осуществить удаление, как я планировал изначально?