【发布时间】:2009-05-18 07:36:14
【问题描述】:
如何在 Objective-C 中创建字节数组?
我有一些像这样的数据:0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89,我想准备一个字节数组。
【问题讨论】:
标签: objective-c arrays byte
如何在 Objective-C 中创建字节数组?
我有一些像这样的数据:0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x12, 0x23, 0x34, 0x45, 0x56, 0x67, 0x78, 0x89,我想准备一个字节数组。
【问题讨论】:
标签: objective-c arrays byte
您可以简单地使用 Objective-C 中提供的纯 C 语法:
const char myByteArray[] = {
0x12,0x23,0x34,0x45,
0x56,0x67,0x78,0x89,
0x12,0x23,0x34,0x45,
0x56,0x67,0x78,0x89 };
【讨论】:
NSArray 中使用多个字节数组会发生什么? Implicit conversion of a non-Objective-C pointer type 'const char *' to 'id _Nonnull' is disallowed with ARC。我喜欢下面来自@Georg 的回答者。 NSData *data = [[NSData alloc] initWithBytes:bytes length:sizeof(bytes)]; ?
要么使用 mouviciel 给出的纯 C 解决方案,要么阅读 NSData 和 NSMutableData 的类描述。
【讨论】: