Как создать NSDictionary, состоящий из NSArray NString для ключа и связку Int для значения? - PullRequest
0 голосов
/ 24 октября 2011

вот проблема:

NSArray * alphabets = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",@"i",@"j",@"k",@"l",@"m",@"n",@"o",@"p",@"q",@"r",@"s",@"t",@"u",@"v",@"w",@"x",@"y",@"z",nil];
NSDictionary * alphaToNum = [NSDictionary dictionaryWithObject:alphabets forKey:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26];
//I know above line meant to not work I just brought it here as an example

как я могу создать словарь, который работает выше?

1 Ответ

2 голосов
/ 24 октября 2011

Вы можете использовать объекты в качестве ключей или значений только в NSDictionary, поэтому вы должны использовать NSNumber в качестве оболочки для целочисленного ключа.

NSMutableDictionary *alphaToNum = [NSMutableDictionary dictionary];
NSArray *alphabet = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",@"i",@"j",@"k",@"l",@"m",@"n",@"o",@"p",@"q",@"r",@"s",@"t",@"u",@"v",@"w",@"x",@"y",@"z",nil];
NSInteger index = 0;

for(NSString *character in alphabet)
{
    index ++;
    [alphaToNum setObject:character forKey:[NSNumber numberWithInteger:index]];
}
...