2016-03-20 2 views
-1

У меня есть tableView. И я хочу создать новое действие для удаления! Но для этого требуется новый indexPath. Как получить новый indexPath?Как получить новый NSIndexPath для tableView?

Вот мой код:

func newFunction(sender:UIButton) { 

    let indexPath = NSIndexPath(forRow: 0, inSection: 0) 
    self.tableView.beginUpdates() 
    self.items.removeAtIndex(indexPath.row) 
    self.tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade) 
    self.tableView.endUpdates() 
    self.tableView.reloadData() 
} 

Он работает. Но удаляет только первый объект.

ответ

0

Почти каждый тип в структуре предоставляет инициализатор для использования для создания экземпляра этого типа.

Если вы начинаете вводить имя типа, NSIndexPath, вы увидите, что Xcode предлагает использовать один из них:

enter image description here

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

let indexPath = NSIndexPath(forRow: 0, inSection: 0) 

Это создаст путь индекса, соответствующий первой строке в первом разделе. Индексы всегда начинаются с 0!

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

Просто как это!

Смежные вопросы