Swift リファクタリング忘備録 注意-読む価値はありません。!

デリゲート処理はweakで宣言しておかないと、メモリーリークを起こす可能性がある。

//変更前
protocol CommentDelegate {
    func commentOptionTapped(comment: Comment)
}
private var delegate: CommentDelegate


//変更後
protocol CommentDelegate: class {
    func commentOptionTapped(comment: Comment)
}

private weak var delegate: CommentDelegate

ポイント protocol はclass属性

アクセスするプロパティは weak で宣言