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

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

  • Obj-C中有类似的类吗?(这将是最好的解决方案;))
  • 我应该使用像 NSData 这样的 Obj-C 类来做到这一点吗?
  • 或者我应该继续使用纯 C 代码?
有帮助吗?

解决方案

您可能需要 NSMutableData。

其他提示

我的回忆 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.

我有类似的问题。 伊利亚用他的答案指出了我这里 .

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

那将是您的定制课程。

对于我的情况我认为 NSInputStreamNSOutputStream 应该使用。肯定不是 NSMutableData 至于被接受和大多数投票的答案如何。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top