这是我的代码段
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];
NSMutableDictionary * alphaToNum = [NSMutableDictionary dictionary];
NSInteger index =0;
for (NSString * character in alphabets) {
index++;
[alphaToNum setObject:character forKey:[NSNumber numberWithInteger:index]];
}
NSLog(@"%@",[alphaToNum objectForKey:@"d"]);
每当我尝试为我的密钥获取某些值时,我只得到0。
答案 0 :(得分:2)
你需要......
NSLog(@"%@",[alphaToNum objectForKey:[NSNumber numberWithInteger:[alphabets indexOfObject:@"d"]]]);
答案 1 :(得分:0)
您的密钥是NSNumber
s,您的对象是从a到z的字母。键@“d”没有对象。对于键[NSNumber numberWithInt:4]
,将有一个对象,字符串@“d”。你有没有把钥匙和物品弄错了?你真的想做什么?
答案 2 :(得分:0)
以下代码将产生您想要的结果。
NSLog(@"%@",[alphaToNum objectForKey:[NSNumber numberWithInteger:4]]);
NSlog
的问题是这个。
密钥由NSNumbers组成,它们从1
开始,而不是字母表。 =>由于没有带有字母“d
”的密钥,它会向您发送null作为回报。