我刚开始学习Objective-C,我试图用一个随机数来获得该数字的键值。当密钥是一个随机数时,我如何从字典中获取密钥值?
显然(对于大多数人),由于NSNumber和NSUInteger具有不同的数据类型,因此无法编译。但是,这是我最好的拍摄,但编译器给了我以下错误:
Implicit conversion of a non-Objective-C pointer type 'NSUInteger *' (aka 'unsigned int *') to 'id' is disallowed with ARC
有没有人在那里,愿意引导我到这可能微不足道(对于大量的你)问题?
这是我的尝试:
NSDictionary *refDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
@"one", [NSNumber numberWithInteger:0],
@"two", [NSNumber numberWithInteger:1],
@"one", [NSNumber numberWithInteger:2],
@"two", [NSNumber numberWithInteger:3],
@"four",[NSNumber numberWithInteger:4],
@"six", [NSNumber numberWithInteger:5], nil];
NSUInteger *dieIndex = arc4random_uniform(6);
NSString *imageName = [refDictionary objectForKey:dieIndex];
的NSString * imageName = [refDictionary objectForKey:[NSNumber的numberWithInteger:dieIndex]; – Merlevede
如果你的密钥是连续的数字,为什么不使用数组? – Sebastian
我得到:不兼容的整数转换指针发送'NSUInteger *'(aka'unsigned int *')到'NSInteger'类型的参数(aka'int')@Merlevede –