#objective-c #nsdictionary
#objective-c #nsdictionary
Вопрос:
вот в чем проблема :
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:
Вы можете использовать объекты только как ключи или значения в a 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]];
}
Комментарии:
1. О, ты первый =) Удалил мой ответ