如何从UITableView的所有选定单元格构建列表

时间:2012-04-26 18:17:33

标签: objective-c ios xcode

大家好,感谢您的时间。 我想知道如何构建所选单元数据的列表,并将其写入一个数组,然后写入.plist

我只想继续从所选单元格中添加“* selecedArray”对象。

当我“NSLog”我的数据时,下面的当前代码显示我写了最后一个选择因此...我最后选择了最后一个选定的单元格。希望有道理。

谢谢亚哈。

NSMutableArray *selectedArray = [[NSMutableArray alloc] init];
  NSMutableDictionary *New_myData = [[NSMutableDictionary alloc] initWithCapacity:1];
  NSString *selected = [prodArray objectAtIndex:indexPath.row];
  [selectedArray addObject:selected];
  [New_myData setValue:selectedArray forKey:@"SelctedPrds"];

   NSLog( @"data from BuildString %@", New_myData);

2 个答案:

答案 0 :(得分:1)

此代码是否在您的tableView:didSelectRowAtIndexPath:方法中?

如果是这样,每次用户选择一行时,您都会创建新数组 NSMutableArray *selectedArray,这意味着它将始终只有一个项目(即刚刚选中的行) )。

您需要更高范围的数组。尝试将selectedArray设置为类的实例变量/属性。您需要在类的init方法中初始化数组。然后,当用户选择一行时,将其添加到数组中,它将正确保持其状态。

您可能还需要编写代码以释放内存(如果您不使用ARC),也许还需要某种方法来清除数组(如果您的应用中有“清除”或“取消选择所有”选项)

答案 1 :(得分:1)

您可以使用此方法获取所选单元格列表tableView:indexPathsForSelectedRows它将返回所有选定单元格的数组