无法重新分配 objective C 中的 NSArray 值
Trouble Reassigning NSArray values in objective C
我在使用 objective-c 中的基本 for 循环时遇到问题。我对这种语言有点陌生,但我正在努力实现以下目标:
for(int i=0; i<[yVals count]; i++)
{
yVals[i] = exp(yVals[i]);
}
其中 yVals 是 NSArray 中的双精度数组。
但是,我在 xCode 中收到此错误:"Passing 'id' to parameter type 'double'".
我该如何解决这个问题?我是不是把事情过于简单化了?
您需要 box/unbox 基本类型。您的代码需要类似于:
for(int i=0; i<[yVals count]; i++)
{
yVals[i] = @(exp([yVals[i] doubleValue]));
}
我假设 yVals
是 NSMutableArray
个 NSNumber
个对象。
请注意,需要拨打号码 doubleValue
,以便您可以拨打 exp()
。然后 @( )
语法框将结果备份到 NSNumber
对象中,因此您可以将其放回数组中。
我在使用 objective-c 中的基本 for 循环时遇到问题。我对这种语言有点陌生,但我正在努力实现以下目标:
for(int i=0; i<[yVals count]; i++)
{
yVals[i] = exp(yVals[i]);
}
其中 yVals 是 NSArray 中的双精度数组。 但是,我在 xCode 中收到此错误:"Passing 'id' to parameter type 'double'".
我该如何解决这个问题?我是不是把事情过于简单化了?
您需要 box/unbox 基本类型。您的代码需要类似于:
for(int i=0; i<[yVals count]; i++)
{
yVals[i] = @(exp([yVals[i] doubleValue]));
}
我假设 yVals
是 NSMutableArray
个 NSNumber
个对象。
请注意,需要拨打号码 doubleValue
,以便您可以拨打 exp()
。然后 @( )
语法框将结果备份到 NSNumber
对象中,因此您可以将其放回数组中。