iOS/iOS Swift 개발 일기

ios swift 세그웨이 segue / 화면 복귀- unwind

Developer-Michelle 2022. 5. 22. 09:32

액션 세그웨이: 트리거와 세그웨이가 직접 연결된 것

버튼 등이 출발점인 경우.

트리거 - 터치 또는 클릭 이벤트를 발생시켜 세그웨이를 실행할 수 있는 요소

해당 이벤트만 발생하면 자동으로 실행됨.

트리거의 터치에 의해 실행되므로 별도의 처리 코드가 전혀 필요 없다.

 

p230

매뉴얼 세그웨이 : 뷰 컨트롤러와 뷰 컨트롤러 사이에 연결되는 수동 실행 세그웨이

트리거 없이 수동으로 실행해야 하므로, 소스코드에서 세그웨이를 실행할 메소드를 호출해야 함.

매뉴얼 세그웨이를 실행하기 위한 메소드는 다음과 같다.

performSegue(withIdentifier: <세그웨이 식별자>, sender: <세그웨이 실행 객체>)

두 개의 인자값은 세그웨이가 여러 개일 경우를 대비한 세그웨이 식별자와 세그웨이를 실행하는 객체 정보.

 

p236

Unwind - 화면 복귀

 

세그웨이: 목적지가 되는 뷰 컨트롤러의 인스턴스를 자동으로 생성.

첫번째 뷰 컨트롤러에서 두번째 뷰 컨트롤러로 세그웨이를 연결하면 자동으로 인스턴스가 생성된다.

iOS에서 뷰컨트롤러의 인스턴스는 싱글톤 패턴이어야 함. 즉, 뷰 컨트롤러의 인스턴스는 하나 이상 존재해서는 안된다.

 

unwind: 화면 복귀용 메소드 사용

1)프레젠테이션 방식으로 이동했을 때 : dismiss(animated:)

2)내비게이션 컨트롤러를 이용하여 이동했을 때: popViewController(animated:)

3)스토리보드 뷰 컨트롤러의 상단 도크바의 세번째 아이콘 - exit 이용

 

p258

*커스텀 세그웨이

언제쓰는가?

화면 전환시 뷰 컨트롤러 전체를 전환하는 대신, 다른 컨트롤러에 있는 뷰만 읽어와 전환하는 세그웨이

이를 응용하면, 뷰 컨트롤러 하나에서 상태값에 따라 여러가지 다른 뷰를 다양하게 표현하는 일이 가능.

상태값별로 보여줄 뷰와 뷰 컨트롤러를 작성한 다음, 조건절로 구분하여 특정 조건일 때 읽어 들이는 뷰를 바꿔주면 된다.

 

 

 

출처: 꼼꼼한 재은씨의 swift 기본편 

'iOS > iOS Swift 개발 일기' 카테고리의 다른 글

ios swift 전처리메소드 (Pre-process method)  (0) 2022.05.23
ios swift NSLog  (0) 2022.05.23
[iOS swift] Embed In : 낙하산  (0) 2022.05.21
Navigation controller 관련  (0) 2022.05.21
ios swift 오토레이아웃 관련  (0) 2022.05.20