버튼을 하나 만들어주고, 다른 ViewController에 드래그하면
deprecated 된것들은 제끼고
대충 Show 와 Present가 보인다.
영어로 된 설명이다.
간단하게 말하면, Show 와 Present 의 차이는 바로 뒤에 깔린 ViewController 이다.
일단 우리가 흔히 아는 앱들을 켜보면, 뭔가 새로운 화면을 띄우면 그 뒤에는 그 전 화면이 있다는 것을 알고 있다. 이렇게 스택 형식으로 쌓이게 되는데,
Show 는 moving the source viewcontroller out of the way라고 명시되어있다.
치운다는 뜻인데 어떻게 영향을 주는 지는 아직 잘 모르겠다.
반면 present 는 그대로 우리가 보이는 그대로 아래에 source viewcontroller 가 존재하고 있는 상태이다.
UITabBarController ??
그렇다면 좀 특이한 형태의 UITabBarController 에 대해 알아보자.
TabBarController 을 생각해보면 , 서로가 서로를 present하거나, show 하는 형태가 아님을 알 수 있다. 그렇다면 어떤 구조일까?
TabBarController 에서 이미, 2개 이상의 ViewController을 present하고 있는 구조가 된다.
중요한건 이미 ViewController 들이 Present 되어있기 때문에 더이상 instantiate 을 해서는 안된다. ( 같은 코드를 사용하는 새로운 View가 등장할 것이다.)
그렇다면, TabBarController 간의 정보를 공유하기 위해서는, 모든 뷰 들의 공통점인 TabBarController로 정보를 보내서 소통해야겠다는 짐작이 든다.