2012-10-31 2 views
4

그래서 내 질문을 heres. 저는 침묵하는 stackoverflow 대충 훑어 및 사용자 이름과 암호를 묻는보기 컨트롤러로 시작하는 응용 프로그램에 대한 xcode 4.5 스토리 보드를 사용하고 있습니다. 내 응용 프로그램은 백엔드 서버를 통해 데이터를 검사 한 다음 로그인이 올바른 경우 메인 메뉴로 화면을 전달하는 uinavigationcontroller를 가리키는 segue를 수행합니다 .... uinavigationcontroller는 위조되지 않았으며 mainmenu를 자동으로 푸시합니다.UINavigationController가 가리키는보기 컨트롤러에 데이터 전달

Login_screen -> UINavigationController -> Main_Menu 

내 질문에 내가 메인 메뉴 화면에 로그인 화면에서 NSString 이름을 통과 할 방법이다.

메서드와 performsegue 메서드를 통해 segue가 직접 가리키는 경우 한 화면에서 다음 화면으로 데이터를 전달하는 방법을 알고 있습니다. 그러나이 경우 main_menu controller

내 가정을 가리키는 uinaviationcontrollerlogin_screen SEGUE 점은 내가 UINavigationController을 상속 사용자 정의 클래스를 만들고 특정 메소드를 구현해야 할 것입니다하지만 uinavigationcontroller 밤은 본 이후로 나는 것 같아요 viewdidload 또는 viewwillappear 올바른 방법입니다.

어떤 도움을 내가 그래서 이미지를 게시 할 수 없습니다하고 새로운 사용자 오전하지만 난 그 즉시 현재를 유지하기 위해 약간의 용기가 필요 어떤 경우에 가능

+1

하는 데 도움이,이 질문에 대한 내 대답 http://stackoverflow.com/questions/13146575/을 확인 most-efficient-structure-of-ios-app/13146671 # 13146671 – Daniel

답변

9

당신은 UINavigationController가의 topViewController 속성을 사용할 수 있습니다.

UINavigationController.topViewController 개체를 Main_MenuViewController로 캐스팅하고 데이터를 정상적으로 설정하십시오. 당신은 내가 당신의 웹 서비스 데이터에 대한 액세스의 일부 중앙 지점을 가진 제안 viewControllers에 걸쳐 데이터를 공유하는 경우

희망이

+0

남자, 당신은 나를 구 했어요. 감사. – Greeso

0

으로 해결됩니다

을 이해할 수있을 것이다 선택된/활성 개체. 어떤 이유에서든 UINavigationController를 확장 할 수 없다면 (왜 그런지 궁금 할 것입니다.) AppDelegate에 몇 가지 속성을 항상 할당 할 수 있으며 마지막 Main_Menu 컨트롤러에서이 속성을 읽을 수 있습니다. 이 같은

떨어지게은 :

AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate]; 
NSObject* myThing = app.myObj 
if(!myThing) { 
    app.myObj = ... 
} 
관련 문제