iOS
[ iOS ] 화면 전환 시 값 전달 방식 (UIKit)
kybeen
2023. 2. 15. 18:24
728x90
반응형
뷰 컨트롤러 사이에 값을 주고받는 방식은 2가지 개념으로 나누어진다.
- 직접 전달 방식 (동기 방식)
- 간접 전달 방식 (비동기 방식)
직접 전달 방식 (동기 방식)
뷰 컨트롤러 --> 뷰 컨트롤러로 데이터를 직접 전달하는 방식이다. 주로 영속적으로 값을 저장할 필요가 없는 화면 전환 시에 사용된다.
ex) 선택 카테고리
값을 전달받는 쪽의 뷰 컨트롤러가 전달받을 값의 명세를 모두 파악하고 이를 대입할 변수를 미리 생성해 두어야 한다.
[ 전달 과정 (VC1 --> VC2) ]
- VC1에서 VC2로 전달할 값을 준비한다.
- VC2에서는 값을 대입받을 프로퍼티를 정의한다.
- VC1에서는 VC2의 인스턴스를 직접 생성하거나, 이미 생성되어 있는 인스턴스의 참조를 읽어온다.
- VC1에서는 2. 에서 정의한 VC2 인스턴스의 프로퍼티에 값을 대입한다.
- VC1 --> VC2로 화면을 전환한다.
간접 전달 방식 (비동기 방식)
공통 저장소를 만들어 뷰 컨트롤러에서 이 저장소에 값을 저장하고, 전환된 뷰 컨트롤러에서 저장소의 값을 꺼내오는 공유 방식이다. 주로 지속적으로 값을 저장할 필요가 있는 화면 전환 시에 사용된다.
ex) 로그인 정보
보내는 쪽과 받는 쪽 모두 저장소의 위치를 사전에 공유하고 있어야 한다.
728x90
반응형