Lined Notebook

swift 이전 viewController를 삭제하고 새로운 viewController 띄우기

by 사슴비행기

이전 글에서 rootViewController의 모든 하위 ViewController를 삭제하는 방법을 봤는데,

https://doorganizedcoding.tistory.com/42

 

swift rootViewController 하위 viewController 모두 삭제하기

viewController를 상황에 맞게, 로직에 맞게 띄우고 지우다 보면 꼬이는 경우가 간혹(...라고는 하지만 나는 미숙하여 자주 발생한다) 발생한다. 그래서 어떨 때는 rootViewController의 하위 viewController를 모..

doorganizedcoding.tistory.com

그것만큼이나 필요한 게 바로 viewController를 교체하는 것이다.

 

예를 들어 게시판의 글을 클릭하고, 이전글, 다음글로 이동할 때마다 viewController를 새로 띄운다고 한다면,

viewController가 계속 쌓이게 될 것이다.

 

그럴 때는

weak var presentingVC = self.presentingViewController

self.dismiss(animated: true) {
    presentingVC?.present(nextTargetViewController, animated: true, completion: nil)
}

이렇게 presentingViewController를 사용하면 된다.

 

navigationViewController를 사용한다면,

내가 참고했던 stack over flow(나의 코드 동반자...)를 링크로 남긴다.

나는 해보지 않아서 실제로 작동하는 코드인지는 확실하지 않다.

단지 위의 코드는 직접 해보니 아주 잘 되는 것을 보아,

'Dorukhan Arslan' 답변은 어느정도 신뢰가 있을 것으로 보인다.

 

https://stackoverflow.com/questions/47589260/how-to-replace-viewcontroller-in-swift

 

How to replace ViewController in Swift?

I have presented ViewController1 using this code: let vc1 = ViewController1() present(vc1, animated: true, completion: nil) Now, I want to show ViewController2 in ViewController1. @IBAction func

stackoverflow.com

 

블로그의 정보

Beautiful Coding

사슴비행기

활동하기