IOS application/Swift

19. 여러개의 ViewController를 한꺼번에 dismiss

개발자킹콩 2021. 5. 26. 14:17

회원가입이 완료되거나 긴 Segue로 연결된 ViewController를 한꺼번에 dismiss해야하는 경우가 발생한다. 처음으로 가는 방법인 것이다.


 

여기서 문득 의문이 생길 수 있다.

Q. 그냥 마지막 페이지에서 첫 페이지를 present 하면 안되나??

 

A. 여러 페이지를 present한 경우 지금까지 거처온 페이지 들은 바로 뒤에 존재하고 있는 상태이다.

이는 resource 소모를 하고 있는 상태이다. dismiss를 한번 해보면 이를 바로 확인할 수 있다.

즉, 한꺼번에 여러 페이지를 dismiss 하는 것이 목적이다.

 


 

아래의 코드는 4페이지를 dismiss한 것이다. 

@IBAction func goFirstPage(_ sender: Any) {
        self.presentingViewController?.presentingViewController?.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil)
    }