如何在objective-c中通过引用发送数组?

时间:2014-07-11 08:17:04

标签: objective-c c

我有这个数组:

int8_t data[1024];

这个方法:

-(int) getPayLoad:(int8_t[1024])data {
   for(int i=0; i<payload_size; i++) {
    data[i] = payload[i];
   }
  return payload_size
}

我对数据数组参数进行了更改。我希望在方法终止后这些更改仍然存在。

1 个答案:

答案 0 :(得分:1)

我想你想要一些约。像这样

- (size_t)getPayloadWithTarget:(int8_t *)target (int8_t *)source length:(size_t)length {
    for (int i = 0; i < length; i++)
        target[i] = source[i];
    return length;
}

或者像那样

NSData *targetData = [NSData dataWithBytes:source length:length * sizeof(int8_t)];
target = (int8_t *)targetData.bytes;

(假设你不想在Objective-C中做malloc()/free()。)