读一本plist字典

时间:2011-05-04 08:29:59

标签: uitableview plist nsdictionary

我被困在试图弄清楚它是如何工作的。我有一个字典数组的plist。我需要在数组中单独读取每个字典,并将每个字典映射到tableview中的单元格。我觉得这非常简单,但我没有成功访问第一个字典并将每个键/值对写入tableview;然后响应'下一步'按钮,将第二个字典写入tavbeview,然后写第三个字典等。我不必后退,但我必须继续在tableview中显示每个连续字典的内容。 任何提示/代码示例都将非常感激。

1 个答案:

答案 0 :(得分:0)

这是你的意思吗?

NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];
NSString *label = [cellValue objectForKey:@"label"];
[cell.textLabel setText:label];

使用array的内容初始化plistplist有一个字典,其中包含一个名为label的密钥,然后可以通过objectForKey访问该字典。

我不完全确定你在编写词典时做了什么,但我所做的是创建一个名为DataObject的自定义类,我添加了一些方法,如addNewItemwriteToFile这样的:

NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *finalPath = [documentsDirectory stringByAppendingPathComponent:fileTitle];

[array writeToFile:finalPath atomically:YES];

addNewItem:(NSString *)label

NSDictionary *newItem = [[NSDictionary alloc] initWithObjectsAndKeys:label,@"label", nil];
[array addObject:newItem];
[newItem release];
[self writeTask];

然后只需像这样访问它们:

DataObject *db = [[DataObject alloc] init];
[db addNewItem:youItemTitle];
[db release];

虽然这对内存管理来说非常糟糕。