728x90
화면 간 데이터를 전달 할 때 사용할 수 있는 방법
크게 두가지,
특정 액션이 이뤄지면 다른 ViewController로 전달한다는 목적을 가진다.
1. Delegate
서로 다른 ViewController가 1:1로 연결될 때
예를 들어, 로그인을 해야하는 상황일 때
' 메인VC -> 로그인VC -> 메인VC '
(메인 화면에서 로그인 화면으로 넘어갔다가 로그인이 완료되면 다시 메인으로 돌아오는 프로세스)
메인VC와 로그인VC가 1:1로 연결되므로 로그인VC에서 딜리게이트(protocol)을 생성하여 로그인이 완료되면 로그인delegate를 채택한 메인VC에서 감지하여 필요한 동작을 수행하게 해준다
2. Notification observer
하나의 ViewController에서 다른 여러 ViewController로 1:n 연결될 때
예를 들어, 북마크 기능이 있을 때
' 목록VC -> 상세VC(북마크가 되어 있는지 여부 함께 알려줌) '
' 목록VC -> 마이페이지VC(북마크가 몇개 되어 있는지 함께 알려줌)'
' 목록VC -> 북마크VC(북마크 목록 보여줌)'
(목록화면에서 북마크를 하면, 동시에 상세VC, 마이페이지VC, 북마크VC에 알려 화면을 갱신해야한다면)
목록 화면에서 상세,마이페이지,북마크VC로 1:n으로 연결되므로 notification을 이용하여 각 VC에서 필요한 동작을 수행하게 해준다.
728x90
'iOS > iOS' 카테고리의 다른 글
Date (0) | 2022.06.10 |
---|---|
버전업 앱스토어 배포 (0) | 2022.06.10 |
뒤로가기 스와이프 감지 (0) | 2022.06.02 |
Local DB 결정 시 참고 사이트 (0) | 2022.04.22 |
UILabel에 이미지 넣기 (0) | 2022.04.20 |
댓글