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

我有Swift代码转换此方法:

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

现在我想在目标C中

要产生一个基于堆栈的数组,可以尝试类似的方法(直接input代码直接input答案,期望错误):

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

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