Я использую пользовательскую ячейку для UITableView
, и на ней есть UIButton
, который должен удалить текущую ячейку из представления таблицы. В cellForRowAtIndexPath
я делаюНе удалось удалить пользовательскую ячейку из UITableView
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"CellIdentifier";
NSLog(@"Creating Cell");
FADynamicCell *cell= (FADynamicCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil)
{
cell = [[[NSBundle mainBundle]loadNibNamed:NSStringFromClass([FADynamicCell class])
owner:nil
options:nil] lastObject];
}
currentIndexPath = indexPath;
UIButton *removeButton = [UIButton buttonWithType:UIButtonTypeCustom];
removeButton.tag = indexPath.row +100;
removeButton.frame = cell.removeButton.frame;
removeButton.backgroundColor = [UIColor colorWithRed:255./255 green:65./255 blue: 21./255 alpha:1];
removeButton.titleLabel.font = [UIFont systemFontOfSize:12];
removeButton.titleLabel.textAlignment = NSTextAlignmentCenter;
[removeButton setTitle:@"Remove" forState:UIControlStateNormal];
[removeButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[removeButton addTarget:self action:@selector(removing) forControlEvents:UIControlEventTouchUpInside];
[cell addSubview:removeButton];
return cell;
}
И в функции для удаления
-(void) removing
{
[TOperations deleteTickerFromGroup:tickerGroupID andTickerSymbol:selectedSymbol];
NSNumber *selectedRowIndex1 = [NSNumber numberWithInteger:currentIndexPath.row];
[tableView1 beginUpdates];
NSIndexPath *previousPath = [NSIndexPath indexPathForRow:selectedRowIndex1.integerValue-1 inSection:0];
[tableView1 endUpdates];
[tableView1 reloadData];
}
Теперь проблема в том, что он показывает анимацию на правильной ячейке, но я не в состоянии удалить пользовательскую ячейку из таблицы Посмотреть. И всякий раз, когда я загружаю представление снова, то есть приходит с другого экрана, он не показывает ячейку, на которую я нажал для удаления.
Любая помощь будет оценена ...
Проблема может быть в источнике данных. Проверьте, сохраняется ли элемент, когда вы приходите с другого экрана. –
@ Святослав Якимов: Когда я прихожу с другого экрана, тогда он не существует, если я нажал кнопку удаления ранее – Atul
@Atul из вашего вышеуказанного кода, кажется, что источник данных вашего табличного представления отсутствует. Вы должны использовать некоторый массив/словарь для отслеживания создаваемых ячеек и удаления и т. Д. –