如何将 NSData 转换为 UInt8 数组 ins iOS Objective C?

How to convert NSData to Array of UInt8 ins iOS Objective C?

我有 Swift 转换此方法的代码:

func DATA_TO_UINT8(_ d:Data) -> Array<UInt8> {
        return d.withUnsafeBytes {
            [UInt8](UnsafeBufferPointer(start: [=12=], count: (d.count)))
        }
}  

现在我想要 Objective C.

要生成基于堆栈的数组,请尝试类似的操作(代码直接输入答案,预计会出现错误):

NSData *data = ...

UInt8 buf[data.length]; // local stack array
[data getBytes:buf length:data.length];

如果你想要一个堆数组你需要使用malloc来分配内存,如果你实际上不需要数组只是一个C指针你可以使用NSData bytes方法。