3

我不太确定我是否了解如何执行以下操作。

如果我想在字典中添加例如作者和标题(键、值)。用数据填充该字典,然后用另一个字典例如 k = 流派 v = 艺术家姓名并用数据填充它。

然后我想将字典添加到数组中。

首先是怎么做的?其次,如果我允许用​​户记录他们自己的条目怎么办。所以我必须在屏幕上显示文本字段,当用户完成后,它将字段作为键值对存储在新字典中,例如用户字典。

以后尝试用用户输入的数据填充表格视图时我会做什么,我不知道该字典中的键或值,那么我该如何检索该数据?

我的意思是,假设我想从数组索引 2 加载用户的字典,并用每个字典条目填充 tableview 的单元格,这是如何完成的?也许像数组上的方法(在索引 blah blah 处获取 entry.title),获取字典中的键值?

如何才能真正加载他们不知道值的用户输入数据?

问候

4

2 回答 2

8

将作者和标题添加到字典中(假设它们是已经存在的对象 -NSString在您的情况下可能是实例):

NSMutableDictionary *books = [[NSMutableDictionary alloc] initWithCapacity:10];
[books setObject:title forKey:author];

流派/艺术家也是如此:

NSMutableDictionary *music = [[NSMutableDictionary alloc] initWithCapacity:10];
[books setObject:artist forKey:genre];

然后将它们放入一个数组中:

NSArray *theArray = [NSArray arrayWithObjects:books, music, nil];

然后读出数组索引 2 处的内容:

id key;
NSDictionary *theDictionary = [theArray objectAtIndex:2];
id value;
for (key in [theDictionary allKeys])
{
    value = [theDictionary objectForKey:key];
    // do something with the value
}
于 2010-07-08T16:38:39.850 回答
3

您可以使用allKeys获取字典中的 NSArray 键。然后您可以使用 objectForKey 检索值:

for (id key in [myDict allKeys]) {
    NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);
}
于 2010-07-08T16:32:53.353 回答