2016-08-27 2 views
-1

저는 iOS 개발을 처음 접했고 다음 작업을 수행하는 방법을 궁금합니다.동일한 UITableViewController (탐색)에서 시작하여 컨트롤러를 재사용 할 수 있습니까?

사용자가 다중 레벨 메뉴를 탐색하기를 원합니다. 두 가지 종류의 셀 UITableViewController 있어요. 셀 유형 1 번을 클릭하면 다른 데이터로 UITableViewController를 다시로드하려고합니다. (다른 셀을 클릭하면 다른 작업이 수행됩니다.)

StoryBoard에서 다른 UITableViewController를 설정해야합니까? 또는 기존 시트와 동일한 시트를 재사용 할 수 있습니까? 나는 데이터가 원격 소스에서 오는 것이므로 얼마나 많은 레벨을 갖게 될지 모른다. 두 개의 다른 UITableViewController (하나의 다른 버튼이 있기 때문에)를 가질 수 있지만, 모든 것을 하나의 것으로하고 싶을 때 숨기고 필요할 때 버튼을 표시하려고합니다.

어쨌든 동일한 클래스를 재사용해야하지만 각 인스턴스의 데이터를 변경해야합니다. 어떻게해야합니까? 다시 돌아갈 때 컨트롤러의 이전 상태 (마지막으로 사용한 데이터)를 복원해야합니다 - 아니면 자동으로 발생합니까? - 어쨌든 "unwind"입니까?

새 데이터를 위임하려면 어떤 방법을 재정의해야합니까?

자습서를 여러 번 시도했지만 필요한 정보를 찾을 수 없습니다. Nav Controllers에 최대 읽기 사전

+0

에서 그런 다음

override func prepareForSegue(){ step += 1 //and pass that variable to the next view and so one, incrementing by one each time. } 

에서 다음

= 자기 선언 .storyboard! .instantiateViewControllerWithIdentifier ("Storyboard-ID") ", segues를 사용할 필요는 없지만 새로운보기 컨트롤러를 탐색에 적용 할 수 있습니다. 압정. segues 대신 사용할 수있는 didSelectRowAtIndexPath 메서드가 있습니다. – Nina

+0

그리고 부정적인 점은 무엇입니까? 초보자의 질문은 환영하지 않습니까? – Nina

답변

1

에서

덕분에, 나는 이것이 당신이 사용할 것이다 것입니다 확신 해요.

ViewController press 명령에 UITableViewDelegate를 추가하고 자세한 정보를 보려면 클릭하십시오.

+0

고마워, 그게 많이 도움이 됐어! – Nina

0

항상 간단한 변수를 사용하여 추적 할 수 있습니다.

변수 var step = 0 내가 지금까지 배운 내가 컨트롤러를하자 "새로운 뷰 컨트롤러를 초기화 할 수 있다는 것입니다 무엇 당신의

viewDidLoad(){ 
    switch step{ 
    case 0: 
     //add this data 
    case 1: 
     //add this data 
    case 2: 
     //add this data 
    default: break 
} 
관련 문제