循環参照(相互参照)によるメモリリーク
以下のような状態になると、メモリリークが発生します。何も考えずにViewModelのDelegateを追加、DelegateにViewControllerをセットでメモリリーク発生
解決策
弱参照になるようにDelegate用プロトコルをclass継承し、weakで保持できるように対応。protocolにclass継承追加
1 2 | public protocol ViewModelDelegate : class { } |
weak追加
1 | weak var delegate: ViewModelDelegate? |
0 件のコメント:
コメントを投稿