在UITableview中保存选定行的数组。 iOS版。

时间:2015-04-10 13:34:25

标签: ios uitableview nsmutablearray nsuserdefaults multi-select

我正在尝试将UITableView中的选定行保存到NSArray

[self.categoriesTableView indexPathsForSelectedRows];

通常输出为:

"<NSIndexPath: 0x15583590> {length = 2, path = 0 - 3}"

我希望能够将数组保存为用户默认值为整数。例如,如果选择了行0,2和3,我想按如下方式保存数组:

0,2,3 o NSMutableArray *numberArray = [NSMutableArray arrayWithObjects:0,2,3, nil];

NSUserDefaults *userDefaultsForCategories = [NSUserDefaults
standardUserDefaults];

NSMutableArray *selectedRows = [self.categoriesTableView indexPathsForSelectedRows];

[userDefaultsForCategories setObject:self.selectedRows forKey:@"chosenRows"];

任何帮助。我很困惑。

1 个答案:

答案 0 :(得分:0)

我现在正在阅读有关NSCoder的内容,因为我正在学习如何保存状态信息以进行状态保存和恢复。在我看来,从表面上看,利用NSKeyedArchiver和NSKeyedUnarchiver(NSCoder的具体子类)可能就是这样。 NSKeyedArchiver“提供了一种将对象(和标量值)编码为独立于体系结构的格式的方法,该格式可以存储在文件中。”

在此处阅读:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSKeyedArchiver_Class/index.html#//apple_ref/occ/cl/NSKeyedArchiver

然后在viewDidLoad:中,您可以检查已保存的数据文件,并使用保存的数据配置表格视图的状态。