Swiftを扱う上で度々議論となるweakとunownedによるキャプチャ。「確実にクラッシュを防げるweakの方がよい」、「unownedの方がパフォーマンスが優位である」よく聞く意見ではありますが、それは本当なのでしょうか。なぜメモリリークが起こるのかを復習して、両者のメリット/デメリットを再整理し、実コードにおける使い分け方を考え直してみようと思います。