본문 바로가기

Objective-C

[NavigationController 하고 AppDelegate...]

책 보면서 따라가는 것도 힘드네..

와~ delegate 모델... 와~ delegate 모델 소리가 절로 나오는구나..

앞의 "와"는 감탄이고.. 뒤의 "와"는 반쯤 짜증....

기본적으로 자바처럼 인터페이스에 기반한 뭐 그런게 아니라 메서드 시그너쳐에 기반해서

움직이는 것 같기는한데.. 잘 이해가 안된다..


책에서 나온 예제를 따라하던 중...

IOS용 App을 만들려고하면 기본적으로 PrefixAppDelegate.h와 PrefixAppDelegate.m이 생기는데..

이 클래스가 앱 자체에 대한 delegator 역할을 하는건 좀 이해가 간다..


이 AppDelegate.h에서 UINavigationCotroller를 프로퍼티로 선언하고..

아래와 같이 app구동시 위임메서드를 통해 rootViewController (UITableViewController의 서브클래스)를 push해준다.



여기까지는 어느정도 ok...


그리고 저 root컨트롤러 역할을 하는 BIDFirstLevelController에서 특정 사용자 액션에 대한 메서드를 실행하여

두번째 레벨의 컨트롤러(UITableViewController의 서브클래스)를 생성해서 다시 self.navigationcontroller에 넣어주는데..




여기서는 self.navigationController다....


이게 갑자기 어디서 나온건지를 모르겠네..

예상하기로는 appdelegate에서 생성한 navigationController를 root view가 그대로 받아서 쓰는것이 아닐까 생각되는데..

그럼 어딘가에는 선언이 되어있어야 하는거 아닌가... UITableViewController가 뭘 상속하고 있는건가..


아 .. 이정도면 기본도 이해 못 하는 상태인 것 같다. 책을 다시 읽어야하나...ㅠㅠ 

머리가 자바에서 헤어나오지를 못 한다...


일단 제껴두고

http://www.yetanotherchris.me/home/2010/10/18/uitableviewcontroller-by-example.html

이거 한번 따라해봐야겠다..


-->

이상용매니저님이 알려주신.. self.navigationCotroller는 자기를 들고 있는 네비게이션 컨트롤러를 지칭한다.


이 한마디에 확 .. 이해가 되는구나... ㅠㅠ