这里我需要实现将对象添加到数组中以进行多行选择,这是我的代码
BOOL selectedRow
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath{
if(selectedRow){
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
cellText = selectedCell.textLabel.text;
NSLog(@"Airline cellTextC = %@",cellText);
if ([cellText isEqualToString:NameString]) {
NSLog(@"Selected NameString Index = %@",indexes);
[nameArray addObject:indexes];
}else{
NSLog(@"Unknown Selected Name");
}
}
NSLog(@"Total Names = %@",nameArray.description);
}
上面的代码中有一个部分和多个行,如果选中,name string
行应该添加到Array
。只有在选择一行时才能正常工作。但是我需要添加来自多行选择的对象。请你建议我谢谢。
答案 0 :(得分:0)
您可能希望更新Table View的数据源,并让Table View Data源方法为您更新Table View。
答案 1 :(得分:-1)
检查这是否可以解决您的问题:
[tableView setAllowsMultipleSelection:YES];
答案 2 :(得分:-1)
如果你想选择多行并向你的数组添加对象我建议创建2 NSMutableArray
,第一个包含所有数据,另一个包含所选行数据。
@property (strong , nonatomic) NSMutableArray *myalldatatab;
@property (strong , nonatomic) NSMutableArray *selecteddata;
然后使用didselectrowsatindexpath和didDeselectRowAtIndexPath来改变标记
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryNone;
}
您可以通过调用以下行来获取所选行的索引:
NSArray *selectedCells = [self.tableView indexPathsForSelectedRows];
您现在可以迭代选定的单元格并添加像这样的对象
for (int i = 0; i < [selectedCells count]; i++)
{
[self.selecteddata addObject: [selectedCells objectAtIndex:i]]
}
希望它能帮到你:))开心c0de !!