STUDYING/iOS

[iOS] Unwind에 관하여

EOZIN 2018. 10. 10. 14:41
728x90

iOS에서 화면 전환 하는 방법은 다음과 같다.


1. Push - Pop

2. Present - Dismiss


그러나 이미 화면 전환을 했을 때, 돌아가고 싶을 때가 있다.


Push로 화면이 전환되면 뒤로가기 버튼이 생겨 Pop을 할 수 있지만,

Present를 하고 또 View를 Present하면 View가 쌓이게 된다는 문제점이 있다.


그럴 때 사용하는게 Unwind Segway다.


Unwind Segway는 지정한 곳으로 돌려보내는 역할을 한다.



[Unwind Segway 이용 법]


 - 돌아갈 목적지가 될 View의 ViewController에 세그웨이 함수를 구현해놓는다.




 - 스토리보드상에 Exit에 액션 연결을 시도하면 스토리 보드 내 모든 세그웨이 함수를 보여준다.



 - 돌아가고 싶은 ViewController의 세그웨이 함수를 지정한다.


-> 지정된것을 확인할 수 있다.


->지정된 unwind segue를 클릭해 Identifier를 설정해준다.



세그웨이 함수에 performSegue에 설정해줬던 Identifier이름으로 접근 가능하다.



마지막으로 dismiss를 실행할 버튼에 가서 dismiss(animated : true)를 작성해주면 완성!


 - prepareForSegue에서 destinationViewController를 접근하면 뷰 계층에 상관없이 목적지 ViewController에 접근할 수 있다.