3

我正在尝试为 iPhone 构建一个应用程序,尽管我对 Obj-C 完全陌生。对于一个问题,我会在 Java 中使用 ByteBuffer,但我在 Apple 的文档中没有看到任何合适的类。所以我可能必须自己实现它。

我的问题是,如何做到最好:

  • Obj-C 中有类似的类吗?(那将是最好的解决方案;))
  • 我应该使用像 NSData 这样的 Obj-C 类吗?
  • 还是我应该继续使用纯 C 代码?
4

3 回答 3

8

你可能想要 NSMutableData。

于 2009-03-24T16:12:53.367 回答
6

java.nio.ByteBuffer我对(从很久以前使用 Java 开始)的回忆是,它ByteBuffer实现了对字节数组的顺序读/写。这类似于NSInputStreamNSData(用于输入)支持的:

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.

于 2009-03-24T17:29:32.433 回答
0

我有一个类似的问题。伊利亚用他的回答指出我这里

我的目标是实现一个功能齐全的 Obj-C 版本的 java.nio.ByteBuffer。只是想知道我应该用什么来到达那里

那将是您的自定义课程。

对于我的情况,我认为NSInputStream并且NSOutputStream应该使用。肯定不是NSMutableData如何被接受且大多数人赞成的答案。

于 2013-09-06T17:54:05.527 回答