뷰 컨트롤러 사이에 값을 주고받는 방식은 2가지 개념으로 나누어진다.
- 직접 전달 방식 (동기 방식)
- 간접 전달 방식 (비동기 방식)
직접 전달 방식 (동기 방식)
뷰 컨트롤러 --> 뷰 컨트롤러로 데이터를 직접 전달하는 방식이다. 주로 영속적으로 값을 저장할 필요가 없는 화면 전환 시에 사용된다.
ex) 선택 카테고리
값을 전달받는 쪽의 뷰 컨트롤러가 전달받을 값의 명세를 모두 파악하고 이를 대입할 변수를 미리 생성해 두어야 한다.
[ 전달 과정 (VC1 --> VC2) ]
- VC1에서 VC2로 전달할 값을 준비한다.
- VC2에서는 값을 대입받을 프로퍼티를 정의한다.
- VC1에서는 VC2의 인스턴스를 직접 생성하거나, 이미 생성되어 있는 인스턴스의 참조를 읽어온다.
- VC1에서는 2. 에서 정의한 VC2 인스턴스의 프로퍼티에 값을 대입한다.
- VC1 --> VC2로 화면을 전환한다.
간접 전달 방식 (비동기 방식)
공통 저장소를 만들어 뷰 컨트롤러에서 이 저장소에 값을 저장하고, 전환된 뷰 컨트롤러에서 저장소의 값을 꺼내오는 공유 방식이다. 주로 지속적으로 값을 저장할 필요가 있는 화면 전환 시에 사용된다.
ex) 로그인 정보
보내는 쪽과 받는 쪽 모두 저장소의 위치를 사전에 공유하고 있어야 한다.
'iOS' 카테고리의 다른 글
[ iOS ] Xcode로 iOS 개발 시 API KEY 숨기기 (0) | 2023.03.01 |
---|---|
[ iOS ] 코코아팟 설치 후 라이브러리 추가하기 (0) | 2023.02.28 |
[ iOS ] Unwind - 화면 복귀 (UIKit) (0) | 2023.02.13 |
[ iOS ] 화면 전환 방식 (UIKit) (0) | 2023.02.10 |
[ iOS ] 코코아 터치 프레임워크의 주요 프레임워크와 접두어 정리 (0) | 2023.02.08 |
뷰 컨트롤러 사이에 값을 주고받는 방식은 2가지 개념으로 나누어진다.
- 직접 전달 방식 (동기 방식)
- 간접 전달 방식 (비동기 방식)
직접 전달 방식 (동기 방식)
뷰 컨트롤러 --> 뷰 컨트롤러로 데이터를 직접 전달하는 방식이다. 주로 영속적으로 값을 저장할 필요가 없는 화면 전환 시에 사용된다.
ex) 선택 카테고리
값을 전달받는 쪽의 뷰 컨트롤러가 전달받을 값의 명세를 모두 파악하고 이를 대입할 변수를 미리 생성해 두어야 한다.
[ 전달 과정 (VC1 --> VC2) ]
- VC1에서 VC2로 전달할 값을 준비한다.
- VC2에서는 값을 대입받을 프로퍼티를 정의한다.
- VC1에서는 VC2의 인스턴스를 직접 생성하거나, 이미 생성되어 있는 인스턴스의 참조를 읽어온다.
- VC1에서는 2. 에서 정의한 VC2 인스턴스의 프로퍼티에 값을 대입한다.
- VC1 --> VC2로 화면을 전환한다.
간접 전달 방식 (비동기 방식)
공통 저장소를 만들어 뷰 컨트롤러에서 이 저장소에 값을 저장하고, 전환된 뷰 컨트롤러에서 저장소의 값을 꺼내오는 공유 방식이다. 주로 지속적으로 값을 저장할 필요가 있는 화면 전환 시에 사용된다.
ex) 로그인 정보
보내는 쪽과 받는 쪽 모두 저장소의 위치를 사전에 공유하고 있어야 한다.
'iOS' 카테고리의 다른 글
[ iOS ] Xcode로 iOS 개발 시 API KEY 숨기기 (0) | 2023.03.01 |
---|---|
[ iOS ] 코코아팟 설치 후 라이브러리 추가하기 (0) | 2023.02.28 |
[ iOS ] Unwind - 화면 복귀 (UIKit) (0) | 2023.02.13 |
[ iOS ] 화면 전환 방식 (UIKit) (0) | 2023.02.10 |
[ iOS ] 코코아 터치 프레임워크의 주요 프레임워크와 접두어 정리 (0) | 2023.02.08 |