UIKit - NavigationController 푸시 후에 스택 비우기
사이드 프로젝트를 개발하면서 로그인 후에 메인 화면으로 이동될 때 아래 화면처럼 backButton이 표시됨.
이 문제를 해결하기 위해서 아래 코드를 통해 로그인 성공 시 메인 화면으로 푸시하면서 스택을 초기화 시켜줌.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
authManager.login(email: email, password: password) { result in
switch result{
case .success(let response):
guard let response = response else { return }
KeyChainUtil.create(key: Constants.ACCESS_TOKEN, data: response.accessToken)
KeyChainUtil.create(key: Constants.REFRESH_TOKEN, data: response.refreshToken)
// UI 작업이기 때문에 Main Thread에서 실행
DispatchQueue.main.async {
// setViewControllers를 통해 Stack 초기화 후 push
self.navigationController?.setViewControllers([HomeViewController()], animated: true)
}
case .failure(let error):
print("error : \(error)")
}
}
결과
This post is licensed under CC BY 4.0 by the author.

