Swift

Swift 화면 전환 방식 2. 네비게이션 컨트롤러 + 소스(push)

iosos 2023. 6. 23. 14:25

NavigationController를 사용하여 화면 전환(push)

 

Navigation Controller를 사용하여 화면이 전환되고 Navigation Stack에 쌓임 

이 방법으로 화면 전환을 하려면 먼저 Navigation Controller를 embed in 해줘야 함 

 

 

 

1. Navigation Controller Embed (네비게이션 컨트롤러 설정)

- ViewController 클릭 후 오른쪽 하단 embed in 버튼 클릭, Navigation Controller 선택하면 우측 사진과 같이 됨 

 

 

 

 

2. 이동할 ViewController 설정 

- 이동할 ViewController의 Identifier는 OtherViewController

 

 

 

3. Button Action 

 

- instantiateViewController(withIdentifier : ) : "OtherViewController" 라는 Identifier를 가진 뷰 컨트롤러를 가져옴

- navigationController : 현재 뷰 컨트롤러의 네비게이션 컨트롤러에 접근 

- pushViewController : 'OtherVC' 뷰 컨트롤러를 네비게이션 스택에 push하여 화면을 전환

   -> 새로운 뷰 컨트롤러(OtherVC)가 현재 화면에 나타나고 이전 뷰 컨트롤러로 돌아갈 수 있는 백 버튼 자동으로 제공 

 

 

 

 

* guard let

-  옵셔널 값의 언래핑과 동시에 해당 값이 유효한지를 검사하는 데 사용되는 제어문 

- 만약 옵셔널 값이 nil이라면 guard let문은 거짓이 되어 else문을 실행하여 중단함 (return으로 종료됨)

- nil이 아니라면 옵셔널 값이 언래핑되어 'OtherVC'에 할당하고 코드를 계속 실행함