2011-10-12 6 views
0

나는 각각의 범주와 하위 범주가있는 일부 제품을 XML 파일에서 읽은 다음 UITableView에 표시해야하는 프로젝트를 코딩하고 있습니다.UINavigationController없이 탐색과 같은 동작

문제는 고정 된 수준의 레벨이 없다는 것입니다 (xml 태그는 Category> subcategory> subsubcategory> ... 등)라는 고정 된 깊이가 없기 때문에 고정 된 뷰 집합을 가질 수 없으므로 사용할 수 있습니다. UINavigationController

그래서 지금은 - 그리고 그것은 pefectly - 내가 XML 파일에서로드 된 일부 NSMutableArrays에서 데이터를 읽고 나는 그들을 UITableView에 게재하고 있습니다. 의도 한대로 작업. 개체도 서로 연결되어 있으므로 새 데이터 집합은 UITableView에서 마지막으로 누른 요소의 자식입니다.

는하지만, 분명히, 나는 뒤로 버튼을해야하고, 이것은 내가이 붙어있어 여기서 내가 전에 UINavigationController가 함께 그것을 한 적이있다,하지만 난

할 수있는 방법을 찾을 수 없습니다 a)는 추가 (UIfaceBuilder를 통해 UINavigationBar를 추가하고 IBOutlet에 연결)

b) 버튼을 누르면 이전 데이터 세트를 호출하도록 일부 코드를 연결합니다.

어떤 도움이 필요합니까?

답변

0

여전히 일반적인 탐색 컨트롤러 디자인 패턴을 따라야합니다. 카테고리의 레벨이 여러 개인 경우 동일한보기 컨트롤러 을 재귀 적으로 호출하십시오 ().

한 번 (xml 파일을 기반으로 한) 그러한 구현을 한 번 수행했습니다. didSelectRowAtIndexPath:에서 선택한 객체에 "자식"이 있는지 확인합니다.이 경우 다른 상응하는보기 컨트롤러를 네비게이션 스택; 만약 아니라면, 디테일 뷰 컨트롤러를 보여줄 것입니다.

+0

건, 내 현재 디자인과 나는 단지 하나의보기 컨트롤러, 테이블 (및 탐색 표시 줄)을 포함하고 내가 테이블의 데이터를 사용자가 항목을 두 드릴 때마다 다시로드하는 것입니다. – magtak

+0

나는 아직도'UITableViewController'의 여러 인스턴스를 사용하는 것이 더 나은 접근 방법이라고 생각합니다. (당신은 새로운 컨트롤러 서브 클래스를 작성할 필요가 없을 것입니다.) 이런 식으로, 심지어 자신 만의 애니메이션 등을 구현할 필요가 없습니다. – Mundi

+0

ObjC에 다소 새로운 것이기에 개념을 이해할 수 있지만, 힘들어합니다. 그걸 어떻게하는지 알아 내면, 마음을 내 던져서 UITableViewController의 여러 인스턴스를 해결하는 방법에 대한 더미 코드를 던지시겠습니까? 내 말은, 클래스 (tableView의 델리게이트와 데이터 소스)가 어디에서 어떻게 만들어야 하는가? 미리 감사드립니다. – magtak

0

이 작업을 수행하려면 푸시 및 팝 기능이있는 스택 구조를 구현해야합니다. UINavigationController와 같은 방식으로 작동합니다. 귀하의 솔루션이 완전히 사용자 정의되지 않은 경우 UITableViewControllers를 밀어 UINavigationController를 사용하고 휠을 다시 발명하는 것과는 달리 스택을 처리해야합니다.

관련 문제