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