【发布时间】:2012-02-16 21:06:08
【问题描述】:
我正在尝试将 NSDictionary 放在 NSArray 中。我的目标是数组中的每个对象都是一个包含两个键和两个对象的字典。所以字典的键将被称为“TITLE”和“AUTHOR”,每个都有一个值,整个内容将存储在一个 NSMutableArray 对象中。
这是我的代码(dataSource 是一个包含标题列表的数组,author 是一个包含相应作者列表的数组,searchedData 是我希望字典进入一个对象的数组):
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];
}
我试过了,但要么不起作用,要么我不知道如何从数组中的字典中读取数据。我希望能够说“从 searchedData 的对象 n 中的字典中获取关键“标题”的对象,但我不知道如何。
非常感谢!!!
卢克
【问题讨论】:
-
您不能将对象添加到 NSArray 或 NSDictionary。您必须使用您希望它包含的任何内容来创建每种类型,然后就是这样。它们是不可变的对象。如果要更改它们,则必须使用 NSMutableArray 或 NSMutableDictionary。
-
抱歉,数组是可变的(但字典不是,这有关系吗?)
-
在哪里创建 searchedData 数组?
-
抱歉,我编辑了问题以包含该内容。
标签: objective-c ios nsmutablearray nsarray nsdictionary