我正在尝试为iPhone构建应用程序,尽管我是Obj-C的新手。对于一个问题,我在Java中使用ByteBuffer,但我在Apple的文档中没有看到任何合适的类。所以我可能必须自己实现它。
我的问题是,如何做到最好:
答案 0 :(得分:8)
你可能想要NSMutableData。
答案 1 :(得分:6)
我对java.nio.ByteBuffer
的回忆(来自与许多人之前的Java合作)是ByteBuffer
实现对字节数组的顺序读/写。这类似于由NSInputStream
支持的NSData
(用于输入):
NSInputStream *inputStream = [NSInputStream inputStreamwithData:myData]; //assuming myData is NSData*
float myFloat;
if([inputStream hasBytesAvailable]) { // NO if you've already read to the end of myData
NSInteger bytesRead = [inputStream read:&myFloat maxLength:sizeof(myFloat)];
NSAssert(bytesRead == sizeof(myFloat);
}
您可以使用NSOutputStream
写入NSData
来执行类似操作。
答案 2 :(得分:0)
我有一个类似的问题。 ilya pointed my here with his answer。
我的目标是实现一个功能齐全的Obj-C版本 java.nio.ByteBuffer中。只想知道我应该用什么来获取 有
这将是您的自定义类。
对于我的情况,我认为应该使用NSInputStream
和NSOutputStream
。肯定不是NSMutableData
,因为被接受的和大部分被投票的答案如何。