使用不兼容类型'id'的表达式初始化'double'

时间:2012-09-25 21:05:56

标签: objective-c ios initialization

我尝试使用以下代码为double赋值:

double distanceFormat = [self.runsArray[indexPath.row] valueForKey:@"runDistance"];

但我一直收到以下错误:

Initialising 'double' with an expression of incompatible type 'id'

然而,我知道价值是双倍的!有没有办法做到这一点?

2 个答案:

答案 0 :(得分:13)

你可以尝试:

double distanceFormat = [[self.runsArray[indexPath.row] valueForKey:@"runDistance"] doubleValue];

如果你确定它是双倍的,我认为它会起作用。

答案 1 :(得分:6)

使用NSNumber

NSNumber *mynumber = [somedictionary valueForKey:@"runDistance"];

获得nsnumber之后,您可以将其转换为您想要的任何内容,f.ex:

int i = [mynumber intValue];