从NSMutableArray中检索NSDictionary

时间:2012-02-16 21:06:09

标签: objective-c ios nsmutablearray nsarray nsdictionary

我试图将NSDictionary放在NSArray中。我的目标是数组中的每个对象都是一个包含两个键和两个对象的字典。因此,字典的键将被称为“TITLE”和“AUTHOR”,每个键都有一个值,整个事物将存储在NSMutableArray对象中。

这是我的代码(dataSource是一个带有标题列表的数组,author是一个包含相应作者列表的数组,searchData是我希望字典进入对象的数组):

for (int i = 0; i<[dataSource count]-1; i++) {
    NSLog(@"in");
    NSString *authorString = [NSString stringWithFormat:@"%@",[author objectAtIndex:i]];
    NSString *titleString = [NSString stringWithFormat:@"%@",[dataSource objectAtIndex:i]];
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:titleString, @"TITLE",authorString,@"AUTHOR", nil];
    [searchedData addObject:dict];
}

我尝试了这个,但要么它不起作用,要么我不知道如何从数组中的字典中读取数据。我希望能够在searchData的对象n中的字典中说“获取密钥对象”标题,但我不知道如何。

非常感谢!!!

2 个答案:

答案 0 :(得分:2)

试过这个?

NSDictionary *nthDict = [mutableArray objectAtIndex:n];
NSString *title = [nthDict objectForKey:@"TITLE"];
NSString *author = [nthDict objectForKey:@"AUTHOR"];

答案 1 :(得分:1)

您的for循环会跳过dataSource数组中的最后一个元素。除此之外,我看不到您的代码有任何问题。将不可变的字典添加到数组中是很好的,像H2CO3节目一样检索它也没关系。