我有 Swift 代码来转换此方法:
func DATA_TO_UINT8(_ d:Data) -> Array<UInt8> {
return d.withUnsafeBytes {
[UInt8](UnsafeBufferPointer(start: $0, count: (d.count)))
}
}
现在我想要目标C 。
答案 0 :(得分:1)
要生成基于堆栈的数组,尝试类似(代码直接输入到答案中,期望错误):
NSData *data = ...
UInt8 buf[data.length]; // local stack array
[data getBytes:buf length:data.length];
如果你想要一个堆数组,你需要使用malloc
来分配内存,如果你实际上不需要数组只是一个C指针你可以使用NSData
{{1}方法。