代码之家  ›  专栏  ›  技术社区  ›  Omry Yadan

Objective-C等价于java byte[]

  •  0
  • Omry Yadan  · 技术社区  · 14 年前

    在Java中,我将字节作为byte[]传递,它也知道自己的长度。 在目标C中有等价的数组吗?

    我不确定,但对于这样的东西来说,NSArray似乎太重了,因为它可以容纳任何类型的东西。

    3 回复  |  直到 11 年前
        1
  •  2
  •   Tommy    14 年前

    我想最接近的是 NSMutableData 以及 mutableBytes 财产。这将为您提供一个附加了长度计数的C样式数组。唯一的一点复杂之处在于,当您可以使用可变字节读取和修改条目时,您需要使用 appendBytes:length: 如果希望缓冲区增长,则将额外字节添加到结尾。

        2
  •  0
  •   Stephen Darlington    14 年前

    我认为Tommy的答案是正确的,但值得注意的是,您还可以使用原始C数据类型(即。, char* 在这种情况下)。当事情发展到很低的水平时——就像你在谈论单个字节时一样——避免一些更聪明的东西可能会表现得更好。

        3
  •  0
  •   kubi    14 年前

    我也认为@Tommy给出了正确的答案,但也值得考虑的是,内置的存储类经过了大量优化。除非您确信性能将是一个问题,否则使用NSMutableArray可能会更容易,并且只有在您表明存在性能问题之后才能离开。如果需要存储基元值,请查看 CFMutableArray .