1

NSMutableData オブジェクトにバイトを設定するにはどうすればよいですか? 私は次のことを試しました:

-(void)setFirstValue:(Byte)v{
    [mValues mutableBytes][0] = v;
}

しかし、それはコンパイラを大声で叫びます...

4

2 に答える 2

5

しかし、それはコンパイラを大声で叫びます...

それは をmutableBytes*返すからvoid*です。char*問題を解決するには、次のようにキャストします。

((char*)[mValues mutableBytes])[0] = v;

使用することもできますreplaceBytesInRange:withBytes:

char buf[1];
buf[0] = v;
[mValues replaceBytesInRange:NSMakeRange(0, 1) withBytes:buf];
于 2012-09-28T15:58:45.227 に答える
1

配列にキャストします

    NSMutableData * rawData = [[NSMutableData alloc] initWithData:data];
    NSMutableArray * networkBuffer = [[NSMutableArray alloc]init];

    const uint8_t *bytes = [self.rawData bytes];

    //cycle through data and place it in the network buffer
    for (int i =0; i < [data length]; i++) 
    {
        [networkBuffer addObject:[NSString stringWithFormat:@"%02X", bytes[i]]];
    }

もちろん、networkBuffer (nsmutablearray) 内のオブジェクトを調整することもできます。

于 2012-09-28T15:58:19.140 に答える