2017-09-07 17 views
0

コントローラが3つあります。最初のCollectionViewController、次のTableViewControllerおよび最後のCollectionViewControllerにあります。第1コントローラと第2コントローラはjsonを完全に通過しました。しかし、tableViewController didSelectは機能していません。スイフト:TableViewController didSelectRowAt Index_path関数が機能しません

第collectionViewController

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 

      let controller1 = ListTableView() 

      controller1.product_id = arrCategory[indexPath.item].id! 

      navigationController?.pushViewController(controller1, animated: true) 

} 

第tableViewController 多分問題は、ここでコード

オーバーライドFUNC用のtableViewある(_のtableView:のUITableView、didSelectRowAt indexPath:IndexPath){

letレイアウト= UICollectionVi ewFlowLayout()

  let controller1 = DescriptionCollectionView(collectionViewLayout: layout) 

    controller1.product_id = arrProduct[indexPath.item].id! 

    navigationController?.pushViewController(controller1, animated: true) 

}

JSONのWebコードは3ノーcollectionViewController

enter image description here

答えて

-1

のためである私は例の下に、あなたは明確なコードをprepareForSegueを使用することをお勧めします。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if (segue.identifier == "yourSegueIdentifier") { 
     let controller = (segue.destination as! UINavigationController).topViewController as! YourSecondViewController //with UINavigationController as top view 

     controller.valueFromSecondController = self.valueFromThisController 
    } 
} 

は、その後、あなたのdidSelect関数内で呼び出すだけ:

performSegue(withIdentifier: "yourSegueIdentifier", sender: row) 

は、このヘルプを願っています。

+0

segueはプログラムで迅速に機能しません。私はここですべてのコードをプログラムで実行しています。 –

+0

あなたはプログラム上のセグを使用していますか? –

+0

プログラム的に迅速にセグがあります –

関連する問題