iOS

[ iOS ] 화면 전환 시 값 전달 방식 (UIKit)

kybeen 2023. 2. 15. 18:24
728x90
반응형

뷰 컨트롤러 사이에 값을 주고받는 방식은 2가지 개념으로 나누어진다.

  1. 직접 전달 방식 (동기 방식)
  2. 간접 전달 방식 (비동기 방식)

 

직접 전달 방식 (동기 방식)

뷰 컨트롤러 --> 뷰 컨트롤러로 데이터를 직접 전달하는 방식이다. 주로 영속적으로 값을 저장할 필요가 없는 화면 전환 시에 사용된다.

ex) 선택 카테고리

 

값을 전달받는 쪽의 뷰 컨트롤러가 전달받을 값의 명세를 모두 파악하고 이를 대입할 변수를 미리 생성해 두어야 한다.

 

[ 전달 과정 (VC1 --> VC2) ]

  1. VC1에서 VC2로 전달할 값을 준비한다.
  2. VC2에서는 값을 대입받을 프로퍼티를 정의한다.
  3. VC1에서는 VC2의 인스턴스를 직접 생성하거나, 이미 생성되어 있는 인스턴스의 참조를 읽어온다.
  4. VC1에서는 2. 에서 정의한 VC2 인스턴스의 프로퍼티에 값을 대입한다.
  5. VC1 --> VC2로 화면을 전환한다.

 

 

 

 

간접 전달 방식 (비동기 방식)

공통 저장소를 만들어 뷰 컨트롤러에서 이 저장소에 값을 저장하고, 전환된 뷰 컨트롤러에서 저장소의 값을 꺼내오는 공유 방식이다. 주로 지속적으로 값을 저장할 필요가 있는 화면 전환 시에 사용된다.

ex) 로그인 정보

 

보내는 쪽과 받는 쪽 모두 저장소의 위치를 사전에 공유하고 있어야 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형