2013-06-27 3 views
1

enter image description hereCanMoveRowAtIndexPath никогда не называют

Просто посмотрите на это изображение (возможно, потребуется увеличить его)

В часы панели вы видите, что Tableview является недействительным. Не имеет смысла. Ни при каких обстоятельствах tableView не имеет значения - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

И это не совсем пусто.

Код:

PO(tableView); 
    PO(self.delegate.tvDelegated); 
    PO(self.delegate.tvDelegated.dataSource); 
    PO(self.delegate.tvDelegated.delegate); 
    PO(indexPath); 

ясно показывает TAHT Tableview же с self.delegate.tvDelegated и источником данных и делегат, который сам.

tableView: <UITableView: 0x1ea4c800; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x1f082f30>; layer = <CALayer: 0x1f29d8d0>; contentOffset: {-0, 10}> 
self.delegate.tvDelegated: <UITableView: 0x1ea4c800; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x1f082f30>; layer = <CALayer: 0x1f29d8d0>; contentOffset: {-0, 10}> 
+0

Является ли это отладка сборка или сборка релиза? Какую версию Xcode вы используете? –

ответ

1

согласно docs

Для управления переназначения появляться, вы должны не только установить это свойство но реализовать метод UITableViewDataSource Tableview: moveRowAtIndexPath: toIndexPath :. Кроме того, если источник данных реализует tableView: canMoveRowAtIndexPath: для возврата NO, управление переупорядочением не отображается в этой заданной строке.

Реализовать

- (BOOL) tableView: (UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndex toIndexPath:(NSIndexPath *)toIndex 
+0

Ваша подпись метода неправильная. Правильный - '- (void) tableView: (UITableView *) tableView moveRowAtIndexPath: (NSIndexPath *) sourceIndexPath toIndexPath: (NSIndexPath *) destinationIndexPath' – Martin