Після оновлення до Swift 5.2 / Xcode 11.4 отримано попередження про наступний код:
extension Data {
init<T>(from value: T) {
var value = value
let pointer = UnsafeBufferPointer(start: &value, count: 1)
self.init(buffer: pointer)
}
func to<T>(type: T.Type) -> T {
return self.withUnsafeBytes { $0.load(as: T.self) }
}
}
У рядку нехай покажчик = UnsafeBufferPointer (start: & value, count: 1) Я отримав
Ініціалізація 'UnsafeBufferPointer' призводить до висячого вказівника буфера
Я можу використовувати @silenceWarning, але це брудне рішення. Можливо, мені потрібно десь зберігати вказівник і чистити його в майбутньому?