Привет снова!
Спасибо за вашу помощь!
Я действительно нашел решение для моей проблемы!
Меня больше не волнует анимация таблицы при редактировании!
Наконец-то я нашел решение в этом посте: Как не дать UITableView moveRowAtIndexPath оставлять пустые строки при переупорядочении
Том Сакстон сказал:
// APPLE_BUG: если вы переместите ячейку в строку, которая находится за пределами экрана (потому что место назначения
// был изменен), фиктивная ячейка будет создана и в конечном итоге вызовет сбой
Итак, мой код выглядит так:
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
if( fromIndexPath == toIndexPath ) {
return;
}
if (toIndexPath.row == [self.data count] -1) { //element has been dragged to the bottom
self.data removeObjectAtIndex:fromIndexPath.row];
[self performSelector:@selector(delayedReloadData:) withObject:tableView afterDelay:0];
}
else { //Normal reoder operation
[self.data removeObjectAtIndex:fromIndexPath.row];
[self.data insertObject:element atIndex:toIndexPath.row];
}
}
- (void)delayedReloadData:(UITableView *)tableView {
//Assert(tableView == self.tableView);
[self.tableView reloadData];
} * * тысяча двадцать-один
У меня также была утечка памяти в моем методе initData, которую я решил следующим образом:
-(void) initData {
if (!self.data) {
self.data = [[NSMutableArray alloc] init];
}
else {
[self.data removeAllObjects];
}
[self.data addObjectsFromArray:[self.fetchedResultsController fetchedObjects]];
}
Спасибо за вашу помощь!
Николай