Unwind Segue
1. 돌아갈 뷰 컨트롤러에서 Unwind segue와 연결할 액션 메소드를 구현
주의
- unwind 메소드의 이름은 겹치지 않게 지어야한다. 다른 vc에서 똑같은 이름을 사용하면 빌드 에러는 발생하지 않지만, Exit에서 segue 연결 시 하나만 표시된다.
2. unwind할 vc에서 Exit으로 segue를 연결
실행 제어와 이벤트 처리
- unwind는 source와 destination에서 각각 제어 가능하다.
- shouldPerformSegue, canPerformUnwindSegueAction에서 모두 true를 리턴해야 동작한다.
- 기본적인 segue와 동일한 메소드를 사용한다.
source
에서 제어하면 된다.
unwind(for: towards:)
- unwind segue가 실행되고 대상 뷰 컨트롤러로 전환될 때 실행
- unwind 액션을 실행할 수 있을지 결정하는 메소드
- true가 리턴되면 unwind 액션이 실행된다.
destination
에서 제어하면 된다.
실행 순서
Source
: FirstVC
Destination
: ThirdVC
Unwind Segue에서 데이터 전달하기
예시
ValueVC에서 text를 입력하면 해당 text를 이름으로 하는 심볼로 FirstVC의 이미지를 대체
ValueVC
FirstVC
- 참고로, ValueVC의 value와 prepare 메소드를 삭제하고, FirstVC의 unwind에서 let value = vc.valueField.text를 해도 무관
결과
swift 입력
리소스정리 작업
unwind(for: towards:)
에서 작업