Как удалить строки таблицы программно? - PullRequest
0 голосов
/ 21 апреля 2010

У меня есть таблица, которой я манипулирую с помощью tableViewController (без кончика, и контроллер создает закулисную таблицу). Я пытаюсь удалить строку из таблицы на основе номера строки;Я могу удалить его из массива, который я использую для создания ячейки в cellForRowAtIndexPath, но я получаю странную ошибку, если пытаюсь сделать следующее: код тот же, что и в tableView: commitEditingStyle: forRowAtIndexPath: где он работает отлично

NSIndexPath * indexPath = [NSIndexPath indexPathForRow: i + 1 inSection: 1]

[self.tableView deleteRowsAtIndexPaths: [NSArray arrayWithObject: indexPath] withRowAnimation: 100 * * анимация * U7: возможность просмотра: UITableRade:

Выдает ошибку

- [_ WebSafeForwarder forwardInvocation:]

, а затем выпрыгивает из метода, но не вызывает сбой приложения

Кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 21 апреля 2010

Вы должны сделать это в этом блоке.

[self.tableView beginUpdates];

///

[self.tableView endUpdates];

обратите внимание на одну вещь: когда блок достигает конца

- (void) numberOfRowsInSection:(NSInteger)section

будет вызван снова. поэтому вам также необходимо обновить количество строк в табличном представлении.

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

Спасибо

Madhup

0 голосов
/ 21 апреля 2010

Ну, вы пропустили точку с запятой в первой строке.

Если есть сомнения, очистите ваш синтаксис ...

В качестве наблюдения большинство программистов, с которыми я работал и говорил, действительно ненавидят UITableViewController. Это действительно ничего не добавляет к функциональности для пользователя и только запутывает вещи, которые разработчики действительно хотели бы контролировать ... например, положение таблицы через XIB.

Это просто удобный класс, и, по моему опыту, вызывает больше проблем, чем предотвращает.

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