[iOS] Segue의 실행과 제어

RudinP·2024년 2월 10일
0

Study

목록 보기
143/227

  • 버튼, 테이블 뷰, 컬렉션 뷰를 segue로 연결할 경우 자동으로 scene 이동을 처리 가능하다.
  • 그 외의 뷰를 segue로 연결한다면, identifier을 정의하고 직접 코드로 실행 시점에 작성해주어야 한다.

코드로 Segue 실행하기

1. identifier 정의

2. performSegue 메소드 작성

Segue 이벤트 처리

prepare

  • segue와 destination vc가 생성되고 나서 화면이 전환되기 직전 호출됨
  • segue: segue와 관련된 vc의 정보가 저장되어 있음.
  • sender: segue를 실행시킨 객체가 저장되어 있음.
  • 기본 구현에서는 아무런 동작을 하지 않기 때문에, 상위 구현을 작성하지 않아도 된다.

UIStoryboardSegue

3가지 속성을 주로 사용한다.

  • source : source vc, segue trigger가 보통 여기 포함되어 있다.
  • destination: destination vc
  • identifier: 실행중인 segue

Segue 실행 제어

shouldPerformSegue

  • segue를 실행시킬지 말지 제어하는 메소드
  • segue trigger에서 이벤트가 호출된 직후 실행
  • identifiersender을 참고해서 결정할 수 있다.
    • identifier에 따라 작동하도록 하지 않으면 해당 vc에 있는 모든 segue에 영향을 준다.
  • true면 segue가 실행되고 false면 실행되지 않는다.
  • 코드로 실행하는 segue에는 영향을 주지 않는다. 즉, 실행되지 않는다.
    • performSegue 자체를 실행하는 부분에 조건을 추가해서 제어해야 한다.
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글