初始化使得整数不带强制转换

时间:2011-06-05 05:49:18

标签: objective-c warnings

我收到此警告,我不确定如何修复它。我收到警告的行是

NSInteger thescore = [[myDictionary objectForKey:@"Score"] objectAtIndex:0];

如果它有所不同,myDictionary是一个NSDictionary

编辑:这是怎么回事?顺便说一句,我的数组是NSMutableArray而不是NSArray

NSInteger thescore = [[myDictionary valueForKey:@"Score"] integerValue];

编辑2: @Bavarious提到我应该执行以下操作:

int thescore = [[myDictionary objectForKey:@"Score"] integerValue];

1 个答案:

答案 0 :(得分:1)

调用[someArray objectAtIndex:0]的结果是一个对象。 NSInteger是原始类型:

typedef long NSInteger;

(cmd +双击xcode中的NSInteger以查看定义)

我猜你可能实际上是在你的数组中存储NSNumber个对象。在这种情况下,你可以做

NSNumber *thescore = [someArray objectAtIndex:0];