세그(Segue)

|

개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.


세그란?

세그는 스토리보드에서 뷰 컨트롤러 사이의 화면전환을 위해 사용하는 객체로 별도의 코드 없이도 스토리보드에서 세그를 연결하여 뷰 컨트롤러 사이의 화면전환을 구현할 수 있다.

UIStoryboardSegue 클래스

UIStoryboardSegue 클래스는 UIKit에서 사용할 수 있는 표준 화면전환을 위한 프로퍼티와 메서드를 포함하고 있다. 커스텀 전환을 정의하기 위해 서브클래스를 구현해서 사용할 수도 있으며 필요에 따라서 UIViewController의 performSegue(withIdentifier:sender:)메서드를 사용하여 세그 객체를 코드로 실행할 수 있다.

세그(Segue)객체는 뷰 컨트롤러의 뷰 전환과 관련된 정보를 가지고 있다. 세그는 뷰 컨트롤러의 뷰를 다른 뷰 컨트롤러의 뷰로 전환할 때 뷰 컨트롤러의 prepare(for:sender:) 메서드를 사용하여 새로 보여지는 뷰 컨트롤러에 데이터를 전달할 수 있다.

주요 프로퍼티

  • var source: UIViewController : 세그에 전환을 요청하는 뷰 컨트롤러
  • var destination: UIViewController : 전환될 뷰 컨트롤러
  • var identifier: String? : 세그 객체의 식별자

주요 메서드

  • func perform() : 뷰 컨트롤러의 전환을 수행

인터페이스 빌더의 세그 연결

1.스토리보드에서 전환될 뷰 컨트롤러를 객체 라이브러리로부터 드래그 앤 드롭으로 추가

2.기존 뷰 컨트롤러의 뷰와 구분하기 위하여 새롭게 생성된 뷰 컨트롤러의 뷰를 선택하여 배경색을 변경

3.첫 번째 뷰 컨트롤러의 뷰 위에 객체 라이브러리로부터 버튼을 추가하고 역할을 알려주기 위하여 ‘Show blue view controller’로 title을 변경

4.버튼에서부터 키보드의 control키를 누른 상태로 드래그하여 전환될 뷰 컨트롤러에 드롭하여 연결

5.세그의 종류 중 Show를 선택(Show 세그는 iOS에서 현재 기기나 화면 상태에서 가장 적절한 화면전환 방식을 판단하여 화면을 전환)

6.두 뷰컨트롤러 사이에 세그가 생성된 것을 확인

7.시뮬레이터를 실행하여 버튼을 눌러보면 두 번째 뷰 컨트롤러의 뷰로 전환되는 것을 확인