2017-11-01 19 views
0

언어 I 어떤 카테고리를 나타내는 각 카테고리 아래에 하나 개 이상의 정보 행을 보유되어있는 tableView가 4있는 navigationController? .pushViewController 뷰

스위프트이다 실행하지 못한다. 세부 행을 클릭하면 선택한 상세 행을 표시하기 위해 다른 tableView를 시작하고 선택된 상세 행과 관련된 몇 가지 추가 정보가 표시됩니다. 나는 응용 프로그램을 실행할 때 오류가 나열되지 동안

// launch the detail view controller 
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    let detailView = DetailVC() 
    detailView.customInit(detailID: tempViewData[indexPath.section].detailIDs[indexPath.row]) 
    setupTableView.deselectRow(at: indexPath, animated: true) 
    self.navigationController?.pushViewController(detailView, animated: true) 
} 

는 그러나, 상세 뷰가 실행되지 않습니다이를 위해

, 나는 다음과 같은 기능을 구현했습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+1

당신이 UINavigationController가이의 ViewController를 넣고 난 '이의 ViewController – ZHZ

+0

에 setupTableView의 대리자를 설정 했 네가 무엇을 요구하는지 완전히 모르겠다. 이보기 컨트롤러의 viewDidLoad 함수에서 setupTableView.delegate = self – CMan

+0

을 추가했지만 세부보기 컨트롤러를 표시하지 않습니다. – CMan

답변

0

Storyboard에서 첫 번째 viewController를 선택한 다음이 메뉴에서 UINavigationController에 포함합니다. enter image description here

+0

그러나 초기 뷰 컨트롤러에서 SetupVC를 표시하기 위해 버튼을 클릭하면 잠시 표시되고 다시 표시됩니다. 왜 그랬을까요? – CMan

+0

그래, 문제를 해결했다. 필자의 초기보기 컨트롤러에서는 SetupVC에 세그 (segue)를 설정했습니다. 그런 다음 같은 버튼에서 액션 콘센트를 만들고 segue 함수를 호출했습니다. 나는이 segue 콜을 주석 처리했고 모든 것이 제대로 작동하고있다. – CMan

0

self.storyboard? .instantiateViewController (withIdentifier : kCreateFBAccountVCID)를 다음과 같이 사용하십시오. 대신 DetailVC()

FUNC의있는 tableView의 DetailVC (_있는 tableView : jQuery과, didSelectRowAt indexPath : IndexPath) {

let detailView = **self.storyboard?.instantiateViewController(withIdentifier:kCreateFBAccountVCID) as! DetailVC** 
detailView.customInit(detailID: tempViewData[indexPath.section].detailIDs[indexPath.row]) 
setupTableView.deselectRow(at: indexPath, animated: true) 
self.navigationController?.pushViewController(detailView, animated: true)}