[swift] Swift Presentr에서 발생하는 메모리 누수 방지 방법

Swift Presentr는 iOS 앱에서 경고, 액션 시트, 인터파크 등의 커스텀 알림을 제공하는 라이브러리입니다. 그러나 Presentr을 사용할 때 메모리 누수가 발생할 수 있습니다. 이 문제를 해결하기 위해 다음과 같은 메모리 누수 방지 방법을 적용할 수 있습니다.

1. [weak self] 사용하기

Presentr을 사용하는 View Controller에서 Presentr 인스턴스를 선언할 때 [weak self]를 사용하여 강한 순환 참조를 방지할 수 있습니다.

lazy var presenter: Presentr = { [weak self] in
    let customPresenter = Presentr()
    // presenter 설정 및 구성
    return customPresenter
}()

2. Presenter 닫기

Presentr은 알림을 닫을 때 자동으로 메모리에서 제거되지 않습니다. 그러므로, Presentr이 더 이상 필요하지 않은 경우에는 수동으로 Presentr을 닫아야 합니다. 예를 들어, Presentr에서 커스텀 알림이 닫히는 콜백을 처리하는 다음과 같은 코드를 사용할 수 있습니다.

presentr.dismiss(animated: true) {
    // Presenter가 완전히 닫힌 후에 실행될 코드
}

3. Presenter 해제

Presentr을 메모리에서 해제하기 위해, Presentr 인스턴스를 강한 참조에서 해제해야 합니다. 그렇게 하기 위해서는 Presentr을 사용하는 View Controller의 deinit 메소드에서 Presentr 인스턴스를 nil로 설정해야 합니다.

deinit {
    presenter = nil
}

위의 방법들을 적용하여 Swift Presentr에서 발생하는 메모리 누수를 방지할 수 있습니다. 이러한 방법들을 사용하여 앱이 잘 작동하고 안정적으로 실행되도록 할 수 있습니다.

참고 자료