ios개발/cs193p 정리

[ios] lec 7 : multiple mvcs, timer, animation

studying develop 2020. 3. 4. 15:42

1. 표현중에 이해가 안되는게 multiple mvcs를 어떤 뷰컨의 뷰가 다른 뷰컨이라고 표현하는데 왜 그렇게 표현하는지 모르겠다. 뷰라니~?

 

이 강의의 해당 챕터에서 중요한건 UITabBarController, UISplitViewController, UINavigationController들이 있고, 이들을 어떻게 사용하는지 아는게 중요해 보인다.

 

해당 챕터의 예시를 꼭 해보자.

 

아직 왜 필요한지는 모르겠는데, 부모 뷰컨에서 자식 뷰컨에 접근하는 방법도 알려준다.

 

이제 컨트롤러의 컨트롤러를 다 만들고 세팅 했으니 세그다

 

세그 종류는 네가지다. 

 

show segue : 네브 뷰컨에서는 푸쉬가 되고 , 아니라면 모달로 된다.

show detail segue : 스플릿 뷰컨에서는 디테일로 보여지고, 네브 뷰컨에서는 푸쉬이다.

modal segue : take over the entire screen while the MVC is up

정확히 무슨 말인지는 모르겠다. 전체 화면을 MVC가 올라와있는 상태에서 차지한다는건 , 기존 MVC가 올라와있는데 위로 올라온다는 말인가?

popover segue : make the MVC appear in a little popover window

 

MVC를 지칭하는게 무슨 말인지 모르겠따 ㅋㅋ

 

*** Segues always create a new instance of an MVC!!!

 

빨강색 강조다. 이해를 해라!

스플릿 뷰의 디테일 또한 새로운 MVC 객체로 교체될 것이다. 네브 뷰컨에서 세그하면 이전의 낡은 객체로 세그되는게 아니다, 새로운 것이다.

 

하지만 네브 뷰컨으로 돌아가는 것은 세그가 아니다!! 그러므로 여기서는 새로운 객체가 만들어지는게 아니다.

 

즉 네브 뷰컨에서는 세그하면 새로운 객체가 생성되서 이동하지만, 돌아올때는 새로운 놈으로 돌아오는게 아니라는 말!인듯

 

새로운 객체로 세그된다는 사실이 , preparing for a segue에서도 매우 중요하게 사용되는 개념이라 한다.

 

**정리 하다보니 이런 의문이 들었고 매우 중요한 의문 같다. 즉 새로운 뷰컨을 만들고 없애는 일은 새로운 객체의 생성과 소멸이다. 그러면 어떻게 뷰컨의 생성과 소멸을 컨트롤 하는지 !? (이 의문이 present vs push에 대한 의문을 해결해 주지 않을까?)

 

그래서 이렇게 검색 했다. swift what happens to old vc when a new viewcontroller appears

 

<참고 https://stackoverflow.com/questions/42339390/dismiss-current-view-controller-after-presenting-new-view-controller-swift>

 

정확히 이해 되지는 않는다. dismiss에 대해서도 추가로 이해가 필요해 보인다.