大家好,感谢您的时间。 我想知道如何构建所选单元数据的列表,并将其写入一个数组,然后写入.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);
答案 0 :(得分:1)
此代码是否在您的tableView:didSelectRowAtIndexPath:
方法中?
如果是这样,每次用户选择一行时,您都会创建新数组 NSMutableArray *selectedArray
,这意味着它将始终只有一个项目(即刚刚选中的行) )。
您需要更高范围的数组。尝试将selectedArray
设置为类的实例变量/属性。您需要在类的init
方法中初始化数组。然后,当用户选择一行时,将其添加到数组中,它将正确保持其状态。
您可能还需要编写代码以释放内存(如果您不使用ARC),也许还需要某种方法来清除数组(如果您的应用中有“清除”或“取消选择所有”选项)
答案 1 :(得分:1)
您可以使用此方法获取所选单元格列表tableView:indexPathsForSelectedRows
它将返回所有选定单元格的数组