Проблемы при редактировании ячеек UITableView (Swift) - PullRequest
0 голосов
/ 11 января 2019

Я думал, что знаю, как удалить ячейку из таблицы, я делал это раньше, но в последнее время все пошло не так хорошо.

В предыдущем приложении для iOS, которое я создал, я использовал UITableView для отображения элементов. Результаты выглядели так:

Image #1

Пока все хорошо. Чтобы удалить ячейку из таблицы, я использовал функцию commit editingStyle, которая позволила бы мне провести по ячейке, и появилась бы красная кнопка «Удалить»:

Image #2

И это именно то, как я этого хотел. И теперь я делал новое приложение, которое также использовало бы табличное представление, и я хотел реализовать эту функцию, чтобы удалить функцию и заставить ее работать так же, как и раньше. Поэтому я добавил функцию commit editingStyle и написал некоторый код для удаления элемента в массиве, который содержит данные моей ячейки, а затем некоторый код для удаления самой ячейки. Но когда я запустил приложение, я получил это:

Image #3

В моей камере был красный круг с линией, проходящей через нее. Нажатие на кружок показало нужную кнопку удаления, но я не хотел, чтобы приложение работало. Я хотел провести, чтобы удалить, как у меня было раньше. Ну, я предположил, что на этот раз я сделал что-то по-другому, поэтому я начал исследовать онлайн, чтобы найти правильный путь. Но каждое решение, которое я нашел, давало одинаковые результаты. Я просмотрел около двух десятков веб-страниц, прежде чем окончательно сдаться. Я решил открыть свой другой проект и просто вытащить код оттуда, поскольку я знал, что код был опробован и соответствует действительности. Так я и сделал, и получил те же результаты! Вот мой код:

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 и любой код, связанный с ней, и запустил свое приложение. И, к моему ужасу, этот маленький красный круг все еще был там !!! Я перепробовал все, что знал, чтобы убрать этот маленький красный кружок, но он все еще был там !!! Итак, я оставил проект в течение недели или двух, несколько расстроенный и совершенно не зная, что делать. Когда я вернулся, тот маленький красный кружок все еще был там (не удивительно). Я хочу закончить этот проект, но я совершенно не уверен, что делать.

Кто-нибудь имеет представление о том, что я могу сделать, чтобы убрать этот маленький красный круг и осуществить удаление, как я планировал изначально?

1 Ответ

0 голосов
/ 11 января 2019

В IB или в вашем коде

     tableView.isEditing = true

снимите флажок или удалите его.

    tableView.isEditing = false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...