2013-04-14 4 views
0

У меня есть табличный вид, где пользователь может перемещать и перенастраивать ячейки в том порядке, в котором он пожелает. Но когда он перемещает/повторно размещает ячейки несколько раз, массив, содержащий элементы, полностью перепутается с порядком элементов, но визуально все в порядке. Что я делаю не так? Спасибо заранее ...Перемещение ячеек в TableView

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath 
{ 

    id object1 = [_items5 objectAtIndex:sourceIndexPath.row]; 
    id object2 = [_items5 objectAtIndex:destinationIndexPath.row]; 

    [_items5 replaceObjectAtIndex:sourceIndexPath.row withObject:object2]; 
    [_items5 replaceObjectAtIndex:destinationIndexPath.row withObject:object1]; 

где _items5 является NSMutableArray и инициализируются в viewDidLoad

ответ

1

Вы подкачка два элемента вместо перемещения одного перенесенного элемента. Вы хотите:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath { 
    id object = [_items5 objectAtIndex:sourceIndexPath.row]; 
    [_items5 removeObjectAtIndex:sourceIndexPath.row]; 
    [_items5 insertObject:object atIndex:destinationIndexPath.row]; 
} 

Примечание: При использовании MRC вам нужно сохранить object поэтому не освобождаться, прежде чем он помещается обратно в массив.

+0

Ох .. Я получаю это сейчас .. Спасибо! – user1780591

Смежные вопросы