Three20 - отличная библиотека. Это делает работу со столами очень простой. Но один пробел, который я заметил, - это удаление строк с анимацией. Я потратил много часов, пытаясь это сделать, и вот что я делаю:
// get current index patch
UITableView* table = [super tableView];
NSIndexPath *indexPath = [table indexPathForSelectedRow];
//delete row in data source
TTListDataSource * source = (TTListDataSource *)self.dataSource;
[source.items removeObjectAtIndex:indexPath.row];
// delete row from the table, with animation
[table deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
После выполнения этого кода появляется ошибка: [NSCFArray objectAtIndex:]: index (0) за пределами (0)
Я использую класс, унаследованный от TTTableViewController. И я не реализую DataSourceDelegate или TableViewDelegate, потому что я использую Three20 в максимально возможной степени. Итак, вот как я создаю источник данных:
for(NSDictionary *album in (NSArray *)albums){
TTTableRightImageItem *item = [TTTableRightImageItem itemWithText:@"name"
imageURL:@"image url"
defaultImage:nil
imageStyle:TTSTYLE(rounded)
URL:@"url of selector where I actually catch the tap on a row"];
[tableItems addObject:item];
}
self.dataSource = [TTListDataSource dataSourceWithItems:tableItems];
Я читал эту статью ( статья ), но это не помогает: (
Итак, я знаю, что это очень просто для гуру с этого сайта. Можете ли вы дать мне расширенный образец, как это сделать
Спасибо