保存date和价值的正确结构
我正在尝试保存用户信息并将其显示到UITableViewCell中,如下所示:
(date) – (价值)
喜欢:
(12/12/2014) – (240磅)
我不确定使用什么结构types。 我需要保存2个不同的对象(上面描述的nsdate和nstring值),并能够通过键(date和值)遍历它们,以显示uitableview中每个对象的文本。
是不是NSDictionary
你在找什么? 例:
NSDictionary *myKeys = [[NSDictionary alloc] initWithObjectsAndKeys: [NSDate date], @"date", [NSNumber numberWithUnsignedInt:240], @"weight", nil];
注意命令“对象和键”。 在这里,我使用@"date"
和@"weight"
作为键名称。 然后你可以通过执行来访问对象:
myKeys[@"weight"]
要么
myKeys[@"date"]
如果你想有多个条目相关的date和权重,你可以使用一个NSArray
的NSDictionaries
。
在提供更多的上下文之后进行更新:如果用户需要logging某些内容,则需要使用Core Data。 核心数据实体的工作方式与NSDictionary
非常相似,但实际上NSManagedObject
包含在NSManagedObjectContext
。 你应该创build一个具有两个属性的实体:date和权重。
的NSDictionary
NSDictionary 。 字典与数组类似,但允许您存储对象和键。 字典允许您将特定的键分配给对象,然后从键中检索对象。 以下是来自苹果的说明:
NSDictionary类将编程接口声明为pipe理键和值的不可变关联的对象。 当你需要一个方便有效的方法来检索与任意键相关的数据时,使用这个类或它的子类NSMutableDictionary。 NSDictionary创build静态字典,NSMutableDictionary创builddynamic字典。
格式化
例如,您可以保存重量和date的字典(见下文),然后使用date键(或反之亦然)检索重量对象。
Key | Object -----------|---------- 12/12/2014 | 240 lbs 10/08/2014 | 250 lbs 09/25/2014 | 262 lbs
在这里,您需要将键(date)保存为NSDate对象,将对象(重量)保存为NSNumber 。
保存和设置
如何设置一个NSDictionary? 像这样:
// A generic NSDictionary setup NSDictionary *dictionary = @{@"key": @"object", @"key2": @"object2"}; // An NSDictionary setup for NSDates and NSNumbers NSDictionary *dictionary = @{[NSDate date]: [NSNumber numberWithInteger:240]}; /* There are hundreds of ways to format and use an NSDictionary. You could even have multiple dictionaries in an NSArray. Or you could use an NSMutableDictionary and continue to add entries. */
阅读和检索
当UITableView调用其数据源来填充行时,从字典中提供内容。 您可以使用键或索引访问内容。
以下是如何使用date键来检索权重条目的方法:
NSNumber *weight = [yourDictionary objectForKey:@"keyName OR NSDate object"];
- 固定在UITableview底部的一个浮动button与scrollViewDidScroll不能正常工作
- 设置SWTableViewCell
- 如何保存uitableview中的复选标记,并在用户再次返回到视图时显示它们?
- 如何使数组中的每个string成为自己的UITableViewCell,每个string都在自己的部分中?
- 刷新UITableView在第三个单元格后崩溃后滚动到顶部
- UITableViewCell中的UIViewanimation
- 从图像的URL数组中添加图像到UITableViewCell
- UITableView行插入,删除,更新
- 从UITableView删除最后一行 – 崩溃与NSInternalInconsistencyError