2010-07-08 112 views
3

我不太确定我了解如何执行以下操作。从NSDictionary中检索数据

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

然后我想字典添加到一个数组。

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

我要做什么,后来想填补的tableview与用户输入的数据的时候,我不知道在字典中的键或值那么我怎么能检索的数据?

我的意思是让我们说,我想从数组索引2加载用户的词典,并填写每个字典条目tableview的单元格,这是如何完成的?也许像一个数组上的方法(获取index.black blah blah),在字典中获取Key值?

还能如何一个实际加载用户输入他们的arent意识到值的数据?

问候

回答

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 
} 
+0

感谢。如果我想一次检索一个,取决于用户是选择下一个还是上一个? – jarryd 2010-07-08 17:07:18

+0

数据库会更有效率吗? – jarryd 2010-07-08 17:31:23

3

您可以使用allKeys字典获取密钥的一个NSArray。然后,你可以使用objectForKey检索值:

for (id key in [myDict allKeys]) { 
    NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]); 
}