[iOS] Unwind Segue

RudinP·2024년 2월 10일
0

Study

목록 보기
144/227

Unwind Segue

1. 돌아갈 뷰 컨트롤러에서 Unwind segue와 연결할 액션 메소드를 구현

주의

  • unwind 메소드의 이름은 겹치지 않게 지어야한다. 다른 vc에서 똑같은 이름을 사용하면 빌드 에러는 발생하지 않지만, Exit에서 segue 연결 시 하나만 표시된다.

2. unwind할 vc에서 Exit으로 segue를 연결


실행 제어와 이벤트 처리

  • unwind는 source와 destination에서 각각 제어 가능하다.
    • shouldPerformSegue, canPerformUnwindSegueAction에서 모두 true를 리턴해야 동작한다.

shouldPerformSegue, prepare

  • 기본적인 segue와 동일한 메소드를 사용한다.
  • source에서 제어하면 된다.

unwind(for: towards:)

  • unwind segue가 실행되고 대상 뷰 컨트롤러로 전환될 때 실행

canPerformUnwindSegueAction

  • unwind 액션을 실행할 수 있을지 결정하는 메소드
  • true가 리턴되면 unwind 액션이 실행된다.
  • destination에서 제어하면 된다.

실행 순서

  • Source: FirstVC
  • Destination: ThirdVC

Unwind Segue에서 데이터 전달하기

  • prepare 메소드에서 전달

예시

ValueVC에서 text를 입력하면 해당 text를 이름으로 하는 심볼로 FirstVC의 이미지를 대체

ValueVC

FirstVC

  • 참고로, ValueVC의 value와 prepare 메소드를 삭제하고, FirstVC의 unwind에서 let value = vc.valueField.text를 해도 무관

결과


swift 입력

리소스정리 작업

  • unwind(for: towards:) 에서 작업
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글