我被困在试图弄清楚它是如何工作的。我有一个字典数组的plist。我需要在数组中单独读取每个字典,并将每个字典映射到tableview中的单元格。我觉得这非常简单,但我没有成功访问第一个字典并将每个键/值对写入tableview;然后响应'下一步'按钮,将第二个字典写入tavbeview,然后写第三个字典等。我不必后退,但我必须继续在tableview中显示每个连续字典的内容。 任何提示/代码示例都将非常感激。
答案 0 :(得分:0)
这是你的意思吗?
NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];
NSString *label = [cellValue objectForKey:@"label"];
[cell.textLabel setText:label];
使用array
的内容初始化plist
。 plist
有一个字典,其中包含一个名为label
的密钥,然后可以通过objectForKey
访问该字典。
我不完全确定你在编写词典时做了什么,但我所做的是创建一个名为DataObject
的自定义类,我添加了一些方法,如addNewItem
和writeToFile
这样的:
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];
虽然这对内存管理来说非常糟糕。