Як створити NSIndexPath для TableView


243

Мені потрібно видалити рядок 1 таблиці у визначеній вами функції. Для використання deleteRowAtIndexPathпотрібно використовувати 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];

Відповіді:


646

Використовуйте [NSIndexPath indexPathForRow:inSection:]для швидкого створення шляху до індексу.

Редагувати: У Swift 3:

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

Швидкий 5

IndexPath(row: 0, section: 0)

118

indexPathForRow це класний метод!

Код повинен бути таким:

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

18

Обов’язкова відповідь у Swift: NSIndexPath(forRow:row, inSection: section)

Ви помітите, що NSIndexPath.indexPathForRow(row, inSection: section)це недоступно швидко, і ви повинні використовувати перший метод для побудови indexPath.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.