我想恢复NSDictionary中包含的值。 我这样做:
MyCommon *pCommon = [MyCommon Singleton];
NSArray *result = pCommon.res; //res is define and retain in common.m. This is the array.
NSDictionary *dataItem = [result objectAtIndex:????];
我不知道我能用什么代替????
由于
答案 0 :(得分:2)
与其他语言不同,Objective-C区分了数组和字典。
数组是一个集合,按数字索引。字典是由对象索引的集合(通常是字符串,但也可以是其他类型)。
最重要的是,Objective-C区分了可变数组和不可变数组和字典。创建后NSArray
和NSDictionary
无法修改。如果您需要向论坛添加对象,请改用NSMutableArray
和NSMutableDictionary
。
NSArray * myArray = [[NSArray alloc] initWithObjects: @"text1", @"text2", @"text3", nil];
// you can then access a member by using:
NSString * text = [myArray objectAtIndex: 0];
NSMutableDictionary * myDict = [[NSMutableDictionary alloc] init];
// add an object
[myDict setObject:@"text1" forKey:@"key1"];
[myDict setObject:@"text2" forKey:@"key2"];
// you can retrieve objects using:
text = [myDict objectForKey: @"key1"];
[myArray release];
[myDict release];
答案 1 :(得分:0)
好吧,result
是NSArray
,而不是NSDictionary
,所以只需要放置您感兴趣的元素的索引。数组是从零开始的整数索引。
如果您的result
是NSDictionary
而不是NSArray
,请使用objectForKey:
方法代替objectAtIndex:
。