Ios 将整数转换为类型';id';
我今天脑子不好。我知道这一定很简单,但我就是不明白Ios 将整数转换为类型';id';,ios,Ios,我今天脑子不好。我知道这一定很简单,但我就是不明白 CGFloat *minutes = [self.displayData objectForKey:index]; 不兼容的整数到指针转换将“NSUInteger”(也称为“unsigned int”)发送到“id”类型的参数 索引是循环中的整数(0 1 2 3等) 我怎样才能通过这一关?谢谢。字典等待一个对象作为键(id),而不是普通整数(NSUInteger) 尝试将整数包装到NSNumber对象中 CGFloat *minutes =
CGFloat *minutes = [self.displayData objectForKey:index];
不兼容的整数到指针转换将“NSUInteger”(也称为“unsigned int”)发送到“id”类型的参数
索引
是循环中的整数
(0 1 2 3等)
我怎样才能通过这一关?谢谢。字典等待一个对象作为键(
id
),而不是普通整数(NSUInteger
)
尝试将整数包装到NSNumber
对象中
CGFloat *minutes = [self.displayData objectForKey:[NSNumber numberWithUnsignedInteger:index]];
您不应该使用这样的指针:
CGFloat minutes = [self.displayData objectForKey:index];
// after changing the displayData to an array
NSNumber *number = [self.displayData objectAtIndex:index];
CGFloat minutes = [number floatValue];
简单的问题。只是不要使用整数。请执行以下操作,而不是执行此操作:
id index;//then set the index
-objectForKey:method返回类型为
id
的值,但您试图将其分配给CGFloat*,该值与id
不兼容,因为CGFloat不是类。如果您知道从字典中检索的对象是某种类型的,比如NSNumber,那么您可以在获取它时采取步骤将其转换为CGFloat
此外,您试图使用int作为字典的键,但字典也要求它们的键是对象。如果要通过索引访问对象,请将它们存储在数组中而不是字典中
把所有这些放在一起,你会得到如下结果:
CGFloat minutes = [self.displayData objectForKey:index];
// after changing the displayData to an array
NSNumber *number = [self.displayData objectAtIndex:index];
CGFloat minutes = [number floatValue];
objectForKey:
!=<代码>对象索引: