UITableView: как отключить перетаскивание элементов в определенную строку?

У меня есть UITableView с перетаскиваемыми строками, и я могу добавлять / удалять элементы. Источник данных - NSMutableArray.

Теперь, если я переместу строку с «Добавить новую функциональность», приложение выйдет из строя, потому что источник данных меньше, поскольку такая строка еще не была добавлена.

Итак, я изменил этот код:

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
        if (indexPath.row >= [dataList count]) return NO;
        return YES;
    }

А теперь я больше не могу его сдвинуть. Однако я все еще могу перемещать другие строки после такой строки, и, как следствие, происходит сбой кода.

Как я могу решить эту проблему? Есть ли способ отключить перетаскивание "в" определенных строк, а не только из?

спасибо

24
задан GarlicFries 9 August 2011 в 13:48
поделиться