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 (1 시작 : 및 값은 계산)하자 내가 가진
'UnsafeBufferPointer'를 초기화하면 댕글 링 버퍼 포인터가 생성됩니다.
@silenceWarning을 사용할 수 있지만 더티 솔루션입니다. 어쩌면 포인터를 어딘가에 저장하고 나중에 청소해야합니까?