【问题标题】:Access information from Byte Array using its index使用其索引访问字节数组中的信息
【发布时间】:2011-08-17 05:45:10
【问题描述】:

我正在使用字节数组来存储(4840 字节)的 Nsdata,现在我必须访问字节数组索引处的数据。这是我的代码。

[Bufferdata appendBytes:&data length:len]; 
Byte *byteArray = (Byte *)[data bytes];

for(int i=0;i< sizeof(byteArray);i++)   
**NSLog(@"BYTES %@",[byteArray objectAtIndex:i])**;

但它给了 BAD ACCESS

【问题讨论】:

    标签: xcode bytearray nsdata


    【解决方案1】:

    [data bytes] 返回的byteArray 指针是指向原始字节的指针,而不是对象指针。因为它不指向一个对象,所以你不能用它来发送像[byteArray objectAtIndex:i] 这样的消息。相反,您应该执行以下操作:

    for(int i=0;i< sizeof(byteArray);i++)   
        NSLog(@"BYTES %c", byteArray[i]);
    

    【讨论】:

    • 感谢@Caleb,关于重复数据包的任何想法 - 2011-08-17 11:48:29.939[2383:207] BYTES ˇ 2011-08-17 11:48:30.648[2383:207 ] BYTES™ 2011-08-17 11:48:31.252[2383:207] BYTES U 2011-08-17 11:48:31.763[2383:207] 接收队列包含数据包(“”)( BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port { [sock receiveWithTimeout:-1 tag:1]
    • 您正在使用 NSLog(),它自然会打印每条消息的日期和时间。 NSLog() 与 printf() 不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    相关资源
    最近更新 更多