Swift
&tag(Swift/ARC);
- ARCを使ってメモリ管理を行っているのはObjective-Cと同じ。
- すなわち循環参照が起こらないように注意必要がある。
- クロージャをプロパティとして持つ場合は注意が必要。weak selfでキャプチャする必要がある。
- 注意しないといけないのはあくまで循環参照になる場合。例えばViewController間で引数を引き回す場合、その引数オブジェクトは強参照で保持して問題ない(そのオブジェクトからViewControllerを参照しなければ)。
- よくあるdelegateにselfを渡すパターンの場合、delegateをweakにしたほうが無難。