0

我希望我的应用能够像 iOS 上的“联系人”应用一样工作。当用户选择某个 TableViewCell 时,我想加载某些数据。

在此处输入图像描述

无论按下哪个单元格,无论是“约瑟夫、理查德还是香农”,都会出现以下视图:

在此处输入图像描述

在此处输入图像描述

这两个视图看起来完全相同,但它们只是显示不同的信息。所以我想我的问题是:如何使用 NSUserDefaults 以编程方式为每个单元格设置一个键 @"cell1" @"cell2" 等...?但这里有个问题,我不知道要添加多少个单元格,所以我不能硬编码这个,如何为每个表格视图单元格创建一个键来添加多少个?谢谢您的帮助!

4

3 回答 3

2

如果您坚持使用NSUserDefaults,请尝试以下操作:

NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults];
cellNumber = [prefs objectForKey:[NSString stringWithFormat:@"cell%d", index]];

UITableViewCells然后,您可以保存最大索引,以便确切知道必须显示多少。

请记住, 的存储限制较低NSUserDefaults,因此您可能无法在其中存储所有信息。您可以在此处找到更多详细信息。

希望有帮助!

于 2012-11-03T05:50:39.540 回答
1

也许您不想使用NSUserDefaults.... 那仅用于持久的用户信息,例如首选项。最好将 Core Data 用于此类事情。

由于您要标记视图,因此一种想法是在单元出列期间使用-[UIView setTag:]orUIView.tag属性/方法。UITableViewCell使用UITableView委托方法,您可以检测单元格上的点击,检索其标签,并查找NSUserDefaults您的数据库,或者更好的数据库。

首选方法是保留索引数据库,使单元格出列,然后在点击它时,使用单元格的索引导航到详细信息窗格。这是一个更具代表性的编程模型,比标记视图并NSUserDefaults用于拉取数据。

于 2012-11-03T05:37:20.380 回答
0

您可以通过创建一个 NSMutableDictionary 来做到这一点,它为每个单元格存储键/值对,而不是将其存储在 NSUserDefaults 中

NSMutableDictionay *dict = [[NSMutableDictionary alloc] init];
[[NSUserDefaults standardUserDefaults] setObject:dict forKey:@"myKey"];
[dict release];

比您可以随时使用单元格值更新字典:

NSMutableDictionary *dict = [[NSUserDefaults standardUserDefaults] objectForKey:@"myKey"];
[dict setValue:aNameforThisCell forKey:[NSString stringWithFormat@"cell%d", indexPath.row]];
于 2012-11-03T08:49:30.607 回答