Я столкнулся с проблемой при попытке изменить порядок строк в UITableView
. У меня есть функция tableView:moveRowAtIndexPath:toIndexPath:
, но fromIndexPath
равно toIndexPath
(т. Е. Источник == назначение). Я видел эту же проблему здесь: uitableview re-order won't work, source always equal to destination Но решение было - использовать другую библиотеку. Для меня это не вариант.Невозможно изменить порядок строк в UITableView
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
//fromIndexPath is equal to toIndexPath, so nothing is exchaned
[self.table_data exchangeObjectAtIndex:fromIndexPath.row withObjectAtIndex:toIndexPath.row];
}
Моя таблица находится в режиме редактирования, я canMoveRowAtIndexPath:
возвращение YES
. Мое это не помогает. Почему? Что я делаю не так?
Есть ли какие-либо изменения в значениях пути в зависимости от взаимного расположения рядов или являются ** всегда ** равны? –
они всегда равны Не имеет значения, в какую строку в каком направлении я бы перетащил –
FYI - вы не можете использовать 'exchangeObjectAtIndex: withObjectAtIndex:' для перемещения объекта. Этот метод меняет местами два объекта. Совсем не то, что вы хотите. – rmaddy