Вопрос

Мне нужно удалить строку 1 таблицы в функции, которую я определил.Для того, чтобы использовать deleteRowAtIndexPath вы должны использовать IndexPath с определенным разделом и строкой.Как я могу создать indexpath, подобный этому?

Массив с int {1} в качестве единственного элемента приведет к аварийному завершению работы;в сообщении NSLog указано, что раздел также должен быть определен.

* Редактировать -> Код, относящийся к удалению ячейки:

    NSIndexPath *myIP = [[NSIndexPath alloc] indexPathForRow:0 inSection:0];
    NSArray *myArray = [[NSArray alloc] initWithObjects:myIP, nil];
//  [self.tableView beginUpdates];
    [self.tableView deleteRowsAtIndexPaths:myArray withRowAnimation:UITableViewRowAnimationFade];
//  [self.tableView endUpdates];
Это было полезно?

Решение

Использование [NSIndexPath indexPathForRow:inSection:] чтобы быстро создать путь к индексу.

Редактировать: В Swift 3:

let indexPath = IndexPath(row: rowIndex, section: sectionIndex)

Другие советы

indexPathForRow это метод класса!

Код должен гласить:

NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0] ;

Обязательный ответ в Swift : NSIndexPath(forRow:row, inSection: section)

Вы заметите , что NSIndexPath.indexPathForRow(row, inSection: section) недоступен в swift, и вы должны использовать первый метод для построения indexPath .

Для Swift 3 это сейчас: IndexPath(row: rowIndex, section: sectionIndex)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top