2016-09-20 3 views
0

내 TableViewController에 NavigationController가 내장되어 있습니다. 앱을 실행하면 모든 것이 정상적으로 작동하지만 내비게이션 막대가 표시되지 않습니다.내비게이션 막대가 포함되지 않음 TableViewController - Swift

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    let box = boxes[indexPath.row] 
    print(box.name) 



    if let storyboard = self.storyboard { 
     let viewController = storyboard.instantiateViewController(withIdentifier: "BoxDescriptionTVC") as! BoxDescriptionTableViewController 
     self.present(viewController, animated: false, completion: nil) 
     viewController.boxDetailsLabel.text = box.boxDescription 
     if let boxImageURL = box.boxImageURL { 
      viewController.boxImageView.loadImageUsingCacheWithUrlString(urlString: boxImageURL) 
     } 
    } 
} 

가 어떻게이 TableViewController의 대신을 제시 내있는 navigationController의 인스턴스를 만들려면 어떻게해야합니까 :

이 내 코드는 모습입니다?

+0

대신 BoxDescriptionTVC의를 제시한다. –

+0

내 NavigationController 인스턴스를 만들어 TableViewController 대신 표시 할 수 있습니까? – cosmos

답변

1

먼저 스토리 보드에서 NavigationController의 storyboardID를 설정할 수 있습니다. 그런 다음 아래와 같이 코드를 작성할 수 있습니다. (나는 당신의 viewcontrollers는 "메인"스토리 보드에있는 가정 당신은 신원 관리자에 storyboardID을 설정할 수 있습니다) 당신이 당신의 탐색 컨트롤러의 인스턴스를 생성해야

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let boxDescriptionNavVC = storyboard.instantiateViewControllerWithIdentifier(BoxDescriptionNavID) as! UINavigationController 
let destinationTableViewVC = boxDescriptionNavVC.topViewController as! YourTableViewVC 
destinationTableViewVC.textVariable = box.boxDescription 
presentViewController(boxDescriptionNavVC, animated: true, completion: nil) 
+0

콘솔에서이 오류가 발생했습니다. 치명적인 오류 : 선택적 값을 언 래핑하는 동안 예기치 않게 nil을 발견했습니다. ViewController.boxDetailsLabel.text = box.boxDescription – cosmos

+0

내비게이션 컨트롤러의 스토리 보드 ID는 무엇입니까? instantiateViewControllerWithIdentifier 함수에 정확히 동일한 ID를 넣었습니까? – woogii

+0

나는 이것을 넣는다 : "BoxDescriptionNavID" – cosmos

관련 문제