Этот код был в порядке (в том смысле, что компилятор не жаловался):
extension OutputStream {
func write(_ data: Data) -> Int {
return data.withUnsafeBytes { pointer in
return self.write(pointer, maxLength: data.count)
}
}
}
Начиная с Swift 5.0, выдается предупреждение:
Предупреждение: «withUnsafeBytes» устарело: используйте withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R
вместо
Я пытался использовать предложенный метод, но, похоже, я не могу свернуть UnsafeRawBufferPointer
в UnsafePointer<UInt8>
, который в конечном итоге требует OutputStream.write
.
Как я могу написать эту функцию не осуждаемым способом?