0

我有四个uint8_t数组:

uint8_t arrayOne[12]   = { 0x00,0x01,0x00,0x00,0x00,0x06,0xFE,0x03,0x01,0xC1,0x00,0x01 };

uint8_t arrayTwo[12]   = { 0x00,0x01,0x00,0x00,0x00,0x06,0xFE,0x03,0x4E,0x2D,0x00,0x0C };

uint8_t arrayThree[12] = { 0x00,0x01,0x00,0x00,0x00,0x06,0xFE,0x03,0x01,0xF3,0x00,0x01 };

uint8_t arrayFour[12]  = { 0x00,0x01,0x00,0x00,0x00,0x06,0xFE,0x03,0x20,0x04,0x00,0x01 };

我已将它们添加到数组中:

uint8_t *theArray[] = { arrayOne,arrayTwo,arrayThree,arrayFour };

现在我想将此数组传递给一个方法,例如:

[self theMethod:theArray];

到:

-(void)theMethod:(uint8_t *)pointersArray[]{
...
...
}

将该数组指向 -(void)theMethod... 中的方法的正确方法是什么?

4

2 回答 2

1

这一行:

uint8_t *theArray = { arrayOne,arrayTwo,arrayThree,arrayFour };

实际上是创建一个数组,其中填充了指向转换为 uint8_t值的数组的指针。我不认为这是你想要的。

所以首先(注意双指针):

uint8_t *theArray[] = { arrayOne,arrayTwo,arrayThree,arrayFour };

然后你的 ObjC 方法变成:

-(void)theMethod:(uint8_t **)pointersArray {

}
于 2015-06-03T11:51:26.117 回答
0

声明您的方法以获取指向数组指针的指针

-(void)theMethod:(uint8_t **)pointersArray{
...
...
}

通过像这样传递它来调用方法

[self theMethod:&theArray];
于 2015-06-03T11:51:44.203 回答