2017-11-01 20 views
0

言語の起動に失敗し、私はいくつかのカテゴリを示し、各カテゴリの下には、1つまたは複数の詳細行を持っているのtableViewを持っている4navigationController?.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を表示するためにボタンをクリックすると、1秒間表示され、その後再び表示されます。それはなぜこれをするのだろうか? – CMan

+0

問題を解決しました。私の最初のビューコントローラでは、SetupVCにセグを設定しました。私は同じボタンからアクション・アウトレットを作成し、セグエ関数を呼び出しました。私はこのセグの呼び出しをコメントアウトし、物事は今正しく動作しています。 – CMan

0

!self.storyboard?.instantiateViewController(withIdentifier:kCreateFBAccountVCID)を!代わりにDetailVC()

にfuncのtableViewのDetailVC(_のtableView:のUITableView、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)} 
関連する問題