2012-02-02 100 views
2

我想为我的tableView实现多选。在Interface Builder中,我发现了2个选项选择编辑我相应设置为多重选择多重选择编辑期间。如果我在模拟器中模拟XIB,让我选择几行。只要我模拟我的代码,我只有一个选择活动。 我试图通过编程启用它多选UITableView不起作用

[self.tableView setAllowsMultipleSelection:YES]; 
[self.tableView setAllowsMultipleSelectionDuringEditing:YES]; 

在viewDidLoad。有趣的是,这导致错误' - [UITableView setAllowsMultipleSelection:]:无法识别的选择器发送到实例0x9939e00'

PS:我的tableView是一个分组的tableView,我提到这一点,因为到目前为止我看到的所有例子都只是简单的tableView。 我使用的XCode 4.2.1和我的项目目标的iOS设置到iOS 5.0

+0

你检查你的tableView IBOutlet中的对象已正确连接到接口生成器对象(如果没有编程创建您的tableView)? – Alexander 2012-02-02 09:42:22

+0

是的tableView工作正常,只有多选不工作。 tableView被加载,我可以选择一行并处理它,虽然取消选择也没有工作,我只是意识到,即使我已经编码deselect方法,以从我的数组中删除取消选定的对象。 – renesteg 2012-02-02 09:47:54

回答

0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewCell *thisCell = [tableView cellForRowAtIndexPath:indexPath]; 

    if (thisCell.accessoryType == UITableViewCellAccessoryNone) { 

     thisCell.accessoryType = UITableViewCellAccessoryCheckmark; 
     //add object in an array 
    } 
    else{ 

     thisCell.accessoryType = UITableViewCellAccessoryNone; 
     //remove the object at the index from array 


    } 
} 
+0

因此,工作多选,谢谢。然而,正如许多其他开发人员一样,我正在努力应对“可重复使用的单元”问题,也就是说,当滚动并在其他随机出现时,复选标记消失。我用另一个数组解决了这个问题,跟踪了已经检查过的行。感谢Simone的输入。 – renesteg 2012-02-02 21:15:38

+0

随着阵列现在正常工作?我有同样的问题 – CGR 2016-12-09 18:26:00