/ / Възстановяване на стойността в NSDictionary - цел-c

Възстановяване на стойността в NSDictionary - цел-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 за отговор № 1

За разлика от някои други езици, целта-C прави разграничение между масиви и речници.

Масивът е колекция, индексирана по номер. Речникът е колекция, индексирана от обекти (обикновено струни, но могат да бъдат други видове).

Освен това, цел-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];

0 за отговор № 2

Добре, result е NSArray, а не NSDictionary, така че просто поставете индекса на елемента, който ви интересува. Масивите се индексират от числа от нула.

В случай, че си result е NSDictionary и не NSArray, използвай objectForKey: метод вместо objectAtIndex:.