Как убрать последний UITableViewCell - PullRequest
0 голосов
/ 18 декабря 2009

Я пытаюсь удалить последний uitablviewcell из uitableview, но у меня возникли некоторые проблемы. Код, который у меня есть, пока есть.

[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:[self.tableView numberOfRowsInSection:0]] withRowAnimation:NO];

Что я думал, удалит последнюю клетку? Какие-либо предложения? Спасибо.

Ответы [ 3 ]

1 голос
/ 18 декабря 2009

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

NSInteger temprowcount = [self.tableView numberOfRowsInSection:0];
if (temprowcount > 0) {
    [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:temprowcount-1 inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
}
1 голос
/ 18 декабря 2009

Количество строк в разделе не основано на 0 (то есть будет возвращено 1, даже если indexPath.row == 0). Попробуйте arrayWithObject: ([self.tableView numberOfRowsInSection: 0] - 1).

Кроме того, [self.tableView numberOfRowsInSection:] возвращает NSInteger, когда массиву действительно необходим объект NSIndexPath.

0 голосов
/ 19 декабря 2009

Если у вас более одного раздела, предполагается, что self является контроллером представления, который содержит tableView и соответствует протоколу UITableViewDataSource:

NSUInteger _lastSection = [self numberOfSectionsInTableView:tableView];
NSUInteger _lastRow = [tableView numberOfRowsInSection:_lastSection] - 1;
NSUInteger _path[2] = {_lastSection, _lastRow};
NSIndexPath *_indexPath = [[NSIndexPath alloc] initWithIndexes:_path length:2];
NSArray *_indexPaths = [[NSArray alloc] initWithObjects:_indexPath, nil];
[_indexPath release];

[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:_indexPaths withRowAnimation:UITableViewRowAnimationNone];
[tableView endUpdates];

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