หลังจากอัปเดตเป็น 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 แต่มันเป็นโซลูชันที่สกปรก บางทีฉันอาจต้องเก็บตัวชี้ไว้ที่ไหนสักแห่งและทำความสะอาดในอนาคต?