只要查看该图片(您可能需要放大)
在监视窗格中,您会看到tableView为null。没有意义。在- (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);
清楚地表明tableView与self.delegate.tvDelegated相同,并且数据源和委托是self。
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 :(得分:1)
根据docs
要显示重新排序控件,您不仅必须设置此项 属性,但实现UITableViewDataSource方法 的tableView:moveRowAtIndexPath:toIndexPath :.另外,如果是数据 source实现tableView:canMoveRowAtIndexPath:返回NO,即 重新排序控件不会出现在指定的行中。
实施
- (BOOL) tableView: (UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndex toIndexPath:(NSIndexPath *)toIndex