Objective c 如何在objective c中使用双数组?
我正在尝试使用双数组来生成ccp。因此,我在X轴上循环使用名为Objective c 如何在objective c中使用双数组?,objective-c,arrays,indexing,points,Objective C,Arrays,Indexing,Points,我正在尝试使用双数组来生成ccp。因此,我在X轴上循环使用名为grid1x的数组,Y轴上循环使用名为grid1y的数组,如下所示: for (int i = 0; i < [grid1x count]; i++) { p = ccp(x*sw/768,sh-y*sh/1024); grab = [[Grab alloc] initWithPosition:p]; [grabs addObject:grab]; [batch1 addChild:grab z
grid1x
的数组,Y轴上循环使用名为grid1y
的数组,如下所示:
for (int i = 0; i < [grid1x count]; i++)
{
p = ccp(x*sw/768,sh-y*sh/1024);
grab = [[Grab alloc] initWithPosition:p];
[grabs addObject:grab];
[batch1 addChild:grab z:5];
[grab release];
}
当我分别提供
x
和y
时,效果非常好,但我不知道如何在数组的索引位置使用它们。我知道如何使用[grid1x objectAtIndex:I]你的问题忽略了很多细节(Grab
,x
,y
等定义),但有一个猜测是你有一个NSNumber
对象数组-你不能将double
(或其他基本类型)值放入Objective-C中,其中包括包装为NSNumber
的实例。尝试类似于[grid1x[i]doubleValue]
的方法,给定一个NSNumber
返回它包装为double
的值。您是否询问如何使用二维数组?正如CRD所指出的,对实际问题非常困惑。如果您想使用x和y为数组编制索引,只需编写一个索引函数,它可以执行如下操作:int getIndex(int x,int y){return y*(width)+x;}(其中width是x的数字)。@CRD请原谅,除了这一部分,我已经处理了所有其他事情。其中p=ccp(…我想用grid1x的当前位置替换x,用y的当前位置替换x。我希望这能让事情变得更清楚一点。@KirkSpaziani我不确定2D数组是否正确,但我想用grid1x位置的值替换x,用grid1y位置的值替换y。2D数组是这样做的更好的例子吗?@Andrew-如果我理解你的意思的话我在上面为x
和y
编写的内容需要[grid1y[I]doubleValue]
。这些表达式对数组进行索引,然后对结果应用doubleValue
——假设两个数组中都有NSNumber
对象。
p = ccp(x*sw/768,sh-y*sh/1024);