ใน WWDC 2014 เซสชั่น 403 Intermediate Swiftและการถอดเสียงมีสไลด์ดังต่อไปนี้

ลำโพงพูดในกรณีนั้นถ้าเราไม่ใช้[unowned self]ตรงนั้นมันจะเป็นความจำรั่ว หมายความว่าเราควรใช้[unowned self]การปิดภายในเสมอหรือไม่?
บนเส้น 64 ViewController.swift ของ app Swift อากาศ , [unowned self]ฉันไม่ได้ใช้ แต่ผมปรับปรุง UI โดยใช้บางส่วน@IBOutletเหมือนและself.temperature self.loadingIndicatorมันอาจจะตกลงเพราะทุกวินาทีฉันที่กำหนดไว้@IBOutlet weakแต่เพื่อความปลอดภัยเราควรใช้อยู่เสมอ[unowned self]?
class TempNotifier {
var onChange: (Int) -> Void = {_ in }
var currentTemp = 72
init() {
onChange = { [unowned self] temp in
self.currentTemp = temp
}
}
}
onChangeควรจะ[weak self]ปิดเพราะมันเป็นที่สาธารณะ (ภายใน แต่ยังคง) คุณสมบัติดังนั้นวัตถุอื่นอาจจะได้รับการจัดเก็บและการปิดการเก็บรักษาวัตถุ TempNotifier รอบ(ไปเรื่อย ๆ ถ้า โดยใช้วัตถุที่ไม่ปล่อยให้ไปของonChangeการปิดจนกว่าจะเห็นความTempNotifierเป็นไปผ่านโทษอ่อนแอของตัวเองไปTempNotifier ) ถ้าvar onChange …เป็นเช่นprivate var onChange …นั้น[unowned self]จะถูกต้อง ฉันไม่แน่ใจ 100% ของสิ่งนี้แม้ว่า; ใครบางคนที่ถูกต้องฉันโปรดถ้าฉันผิด
[]? ฉันไม่พบคำอธิบายในเอกสารของ Apple
{}คือการปิดที่ว่างเปล่า (ตัวอย่างของการปิด) เป็นค่าเริ่มต้น (ไม่ได้ทำอะไรเลย) (Int) -> Voidคือคำจำกัดความการปิด
