如何将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
方法。