salutis
(Rudolf Adamkovič)
1
We are using Apple's Compression framework to uncompress Data
:
let uncompressedSize = compressedData.withUnsafeBytes { compressedBuffer in
compression_decode_buffer(
uncompressedBuffer,
uncompressedSize,
compressedBuffer,
compressedBufferSize,
nil,
COMPRESSION_LZFSE
)
}
Swift 5 compiler complains:
'withUnsafeBytes' is deprecated: use withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R
instead
The Compression API expects UnsafePointer<UInt8>
but the new API on Data
provides UnsafeRawBufferPointer
. How to fix this?
P.S. I also wonder why the documentation for Data
doesn't include the new method:
4 Likes
I think this thread is someone else asking the same question:
1 Like
salutis
(Rudolf Adamkovič)
3
All right, this one helped:
let unsafeBufferPointer = unsafeRawBufferPointer.bindMemory(to: UInt8.self)
let unsafePointer = unsafeBufferPointer.baseAddress!
From: Michael Tsai - Blog - Swift 5 Released
4 Likes