Удаление строки (или элемента массива) навсегда - swift 3/4 - PullRequest
0 голосов
/ 24 сентября 2018

После успешного удаления строки из UITableView я перехожу на другой контроллер представления, но когда я возвращаюсь к UITableView, удаленная строка возвращается снова.Я что-то пропустил?Я относительно новичок в Swift.

Вот код:

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
    let delete = UITableViewRowAction(style: .destructive, title: "Delete") { (action, indexPath) in
        self.queuelayout.remove(at: indexPath.row)
        tableView.deleteRows(at: [indexPath], with: .fade)
        print(self.queuelayout)
    }
    return [delete]
}

Я также пробовал с этим кодом:

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == .delete{
        queuelayout.remove(at: indexPath.row)
        tableView.deleteRows(at: [indexPath], with: .right)
    }
} 

С нетерпением ждуваша помощь.

1 Ответ

0 голосов
/ 24 сентября 2018

Я проверил ваши топ коды.С ними все в порядке.Единственная возможная причина в том, что, как вы сказали, вы пошли в другой VC, вы уже избавились от вашего tableViewController из памяти.Вот простой пример: enter image description here

Если ваш tableView - самый правильный, и когда вы вернетесь к среднему vc, ваш правый будет удален из памяти.Затем, когда вы нажимаете кнопку назначить и на самом деле, вы загружаете совершенно новый tableViewController.

В результате будет вызван viewDidLoad, и ваш tableViewController снова перейдет в исходное состояние.

Вы можете установить точку останова в func viewDidLoad (), чтобы проверить эту ситуацию.Если это не называется, когда вы вернетесь, вы можете пойти.В противном случае все будет сброшено.Все, что вы удаляете, появится снова, как и должно.

Это простой пример.Ваш случай может быть немного сложным.Но если ваш tableviewcontroller называется ViewDidLoad (), у вас где-то должны быть какие-то неприятности.

Надеюсь, это поможет вам.

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