![](https://velog.velcdn.com/images/rudin_/post/3d937e46-3e3f-4914-bfa2-fae153ad4214/image.png)
- 버튼, 테이블 뷰, 컬렉션 뷰를 segue로 연결할 경우 자동으로 scene 이동을 처리 가능하다.
- 그 외의 뷰를 segue로 연결한다면, identifier을 정의하고 직접 코드로 실행 시점에 작성해주어야 한다.
코드로 Segue 실행하기
1. identifier 정의
![](https://velog.velcdn.com/images/rudin_/post/f1a62ac0-3b16-4d40-9efc-754545451d01/image.png)
![](https://velog.velcdn.com/images/rudin_/post/357db3f2-3799-425e-86bc-12b857ce896b/image.png)
Segue 이벤트 처리
prepare
![](https://velog.velcdn.com/images/rudin_/post/bb8935be-3306-463a-ba81-a4a2cec250c5/image.png)
- segue와 destination vc가 생성되고 나서 화면이 전환되기 직전 호출됨
segue
: segue와 관련된 vc의 정보가 저장되어 있음.
sender
: segue를 실행시킨 객체가 저장되어 있음.
- 기본 구현에서는 아무런 동작을 하지 않기 때문에, 상위 구현을 작성하지 않아도 된다.
UIStoryboardSegue
3가지 속성을 주로 사용한다.
source
: source vc, segue trigger가 보통 여기 포함되어 있다.
destination
: destination vc
identifier
: 실행중인 segue
Segue 실행 제어
![](https://velog.velcdn.com/images/rudin_/post/c230aded-1d7d-4886-b14f-c8983f2f7f03/image.png)
- segue를 실행시킬지 말지 제어하는 메소드
- segue trigger에서 이벤트가 호출된 직후 실행
identifier
와 sender
을 참고해서 결정할 수 있다.
identifier
에 따라 작동하도록 하지 않으면 해당 vc에 있는 모든 segue에 영향을 준다.
true
면 segue가 실행되고 false
면 실행되지 않는다.
- 코드로 실행하는 segue에는 영향을 주지 않는다. 즉, 실행되지 않는다.
- performSegue 자체를 실행하는 부분에 조건을 추가해서 제어해야 한다.