恢复NSDictionary中的值

时间:2011-05-06 13:43:49

标签: objective-c

我想恢复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:????];

我不知道我能用什么代替????

由于

2 个答案:

答案 0 :(得分:2)

与其他语言不同,Objective-C区分了数组和字典。

数组是一个集合,按数字索引。字典是由对象索引的集合(通常是字符串,但也可以是其他类型)。

最重要的是,Objective-C区分了可变数组和不可变数组和字典。创建后NSArrayNSDictionary无法修改。如果您需要向论坛添加对象,请改用NSMutableArrayNSMutableDictionary

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)

好吧,resultNSArray,而不是NSDictionary,所以只需要放置您感兴趣的元素的索引。数组是从零开始的整数索引。

如果您的resultNSDictionary而不是NSArray,请使用objectForKey:方法代替objectAtIndex: