2010-08-06 4 views
0

저는 iOS 개발에 뛰어 들고 탐색보기 컨트롤러에 익숙해지고 있습니다. 테이블 뷰를 사용하여 객체를 추가 할 수있는 간단한 응용 프로그램을 만들려고합니다. 지금까지, 나는 CreateObjectView를로드하고 모달 식으로 표시 할 수 있도록 탐색 바에 "+"버튼이 추가 된 테이블 뷰를 사용하여 사용자가 새 오브젝트를 정의 할 수있게했지만 저장 버튼을 클릭 할 때 ' 개체 데이터를 포함하는 CreateObjectView를 만든 부모보기로 해당 개체 데이터를 다시 보내는 방법을 알고 있어야합니다.탐색 기반 iOS 앱의 현재보기에서 한 수준 위의보기에 어떻게 액세스합니까?

자식보기 (CreateObjectView)를 만들 때 탐색 스택에 밀어 넣기 전에 현재보기에 대한 포인터를 전달할 수 있지만 더럽고 둥근 느낌입니다.

프로토콜과 대리인에 대해 읽었을 때 그 접근법을 사용할 수도 있지만 원형으로 느껴질 수도 있습니다.

이 질문은 어떤 tableview 기반 또는 nav 기반 응용 프로그램에서 일반적인 디자인 문제가 될 것 같습니다. nav 기반 iOS 응용 프로그램의 현재보기에서 한 수준 위로보기에 어떻게 액세스해야합니까?

모든 도움을 주셔서 미리 감사드립니다.

답변

1

처음에는 원형으로 느껴지지만 올바른 방법입니다. UINavigationController가 새 뷰 컨트롤러를 푸시하기 전에 현재 뷰 컨트롤러에 대리자를 설정해야합니다.이 뷰 컨트롤러는 통신하려는 개체를 가정합니다. 물론 중앙 코어 데이터 처리기와 같이 다른 곳으로 설정할 수도 있습니다. 그런 다음 의사 소통을 할 때 정의한 메서드로 대리자를 호출해야합니다. 나는 애플의 요리 책 예제를 본 후에 이렇게 여러 탐색 애플 리케이션을 했어.

+0

감사합니다. adam! 델리게이트 접근법이 잘 작동하는 것처럼 보입니다. 이제는 코드를 리팩토링하고 중앙 코어 데이터 처리기를 만들려고합니다. 애플의 요리 책 예제에 대한 링크를 제공 할 수 있습니까? 나는 그것을 찾을 수없는 것 같습니다. – BeachRunnerFred

+0

지금은 링크를 찾을 수 없지만 iPhone 응용 프로그램의 구조와 관련하여 2009 WWDC 비디오 세션에서 사용 된 예입니다. –

관련 문제