iOS에서 화면전환 방식은 분류 기준에 따라 크게 4가지로 나눌 수 있다.

  1. 뷰 컨트롤러의 뷰 위에 다른 뷰를 가져와 바꿔치기 하기
  2. 뷰 컨트롤러에서 다른 뷰 컨트롤러를 호출하여 화면 전환하기
  3. 내비게이션 컨트롤러를 사용하여 화면 전환하기
  4. 화면 전환용 객체 세그웨이를 사용하여 화면 전환하기

화면 전환은 비동기 방식으로 동작하기 때문에, 화면전환이 완전히 끝난 후에 실행해야 할 구문이 있다면 클로저나 함수 형식으로 작성하여 프레젠트 메소드의 세번째 인자값에 넣은다음 시스템에 의해 호출되도록 기다려야한다.

프레젠트 메소드 아래에 작성된 코드가실행된다는 보장은 없다.

Present / dismiss

화면전환 실습 - Present

화면전환실습을 하기위해 다음과 같이 새로운 프로젝트에 뷰컨트롤러 두개를 스토리보드에 만들었다.

스크린샷 2022-04-17 오후 3.08.02.png

오른쪽에 있는 뷰 컨트롤러는 새로는 secondViewController 라는 파일을 만들어줘도 되지만, 별로 특별한 기능을 하지 않기 때문에 identity에 storyboardID 를 넣어주었다.

이 storyboardID 로 화면전환시 화면을 구분하는데 사용된다.

코드는 아래와 같이 작성하였다.