2012-04-20 3 views
0

같은 클래스의 다른 페이지로 푸시 (push)하는보기 컨트롤러가 있습니다. 새 페이지의 텍스트 필드에 입력 된 모든 데이터는 양식을 옮기 자마자 사라집니다. 임 어디 선가 여기에 한 발자국 놓치고 있다고 가정하니?텍스트 필드의 데이터가 사라짐

원래의보기 컨트롤러에 페이지의 내용을 연결해야합니까?

그렇지 않으면이 비율로 하나의 긴 페이지가 있습니다.

xcode 4.3

+0

약간의 코드를 공유 할 수 있습니까? 특히 다른 viewController를 어떻게 푸시합니까? – ilhnctn

답변

0

나는 당신이 말하는 것을 이해하고 있다고 생각합니다. 다른 화면을 호출하는 화면이 있습니다. 새 화면을 호출하고 새 화면에 데이터를 입력 한 다음 원래 화면으로 돌아갑니다. 그런 다음 두 번째 화면을 다시 호출하면 데이터가 누락됩니다.

화면을 호출 할 때마다 새 UIViewController (또는 해당 클래스의 하위 클래스) 객체를 만듭니다. 그것은 당신이 그것을 만들 때 그리고 나중에 그것을 말할 때만 당신이 그것을 안다. "모델"(MVC) 또는 원래 화면에 다시 데이터를 저장하지 않으면 원래 화면으로 돌아갈 때 새 화면의보기 컨트롤러가 삭제되고 그 안에있는 모든 데이터가 삭제됩니다. 따라서 새 화면에 이전에 입력 한 데이터를 표시해야하는 경우 응용 프로그램의 "모델"또는이를 호출하는 화면에 해당 정보를 저장해야합니다. 그런 다음 새 화면을 호출하면 저장된 데이터가 다시 새 화면으로 "푸시"됩니다.

Apple의 Model-View-Controller 패턴의 "모델"에 익숙하지 않은 분은 좋은 참고 자료입니다. Apple MVC

희망이 있습니다.

+0

예, 정확히 무슨 일이 일어 났는지 설명해 주셔서 감사합니다. 필자는 연결된 Apple 문서를 빠르게 읽었으며 평소와 달리 시작할 때보 다 혼란 스럽습니다. 간단한 용어로 어떻게 정보를 모델이나 원본 페이지에 저장합니까? 나의 최종 목표는 아마도 2 ~ 300 페이지 정도가되는 반면, 사용자는 테스트 결과를 입력 할 수있다. 4 - 8 개의 텍스트 필드. 나는 현재의 디자인이 하나의 긴 페이지이고 약 800 개의 텍스트 필드를 연결 한 다음 결과를 이메일 본문 문자열에 첨부하는 또 다른 800 줄의 코드를 작성하는 것으로 메신저를 잘못 생각한다고 생각합니다. – JSA986

+0

객체 지향 프로그래밍에 익숙하십니까? ? 그렇다면 새 뷰 컨트롤러에 참조를 전달하여 원래 뷰 컨트롤러에 데이터를 저장할 수 있습니다. 그런 다음 값을 설정할 수 있습니다. 이 모델은 좀 더 복잡합니다. Apple의 핵심 데이터 프레임 워크와 같은 데이터를 저장하는 "방법"이 필요합니다. 여러분이 객체 지향 프로그래밍에 익숙하지 않다면,이 책에 대해 좋은 책을 얻고 프로그램에서 객체를 상호 작용하는 방법을 배우는 좋은 시간이 될 것입니다. – Rob

+0

당신이 당신의 코멘트에서와 같이 들릴지 많은 데이터를 보유하고 싶다면. 핵심 데이터를 살펴보십시오. 데이터를 보관, 저장 및 쿼리하는 디자인 인 Apple 프레임 워크입니다. 그것은 매우 강력합니다. – Rob

관련 문제