0

大家好,感谢您的宝贵时间。我想知道如何构建所有选定单元格数据的列表并将其写入一个数组,然后我将其写入 .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);
4

2 回答 2

1

这段代码在你的tableView:didSelectRowAtIndexPath:方法中吗?

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

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

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

于 2012-04-26T18:30:19.847 回答
1

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

于 2012-11-13T08:23:02.117 回答