2017-11-07 98 views
0

하나의 viewController에서 다른 viewController로 tableview 셀의 indexPath.row를 분할하고 싶습니다.테이블 뷰 셀에서 데이터를 전달하는 방법

var index = 0 

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    index = indexPath.row 
    performSegue(withIdentifier: "cellIndex", sender: self) 
} 
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.destination is trackSavingViewController{ 
     let TSController = segue.destination as! trackSavingViewController 
     TSController.indexCell = index 
    } 
} 

그러나이 모든 것은 선택된 행의 값이 아니라 원래 값 (색인 = 0)을 전달하는 것입니다. 코드를 수정하려면 어떻게해야합니까? (:, "메인"번들 : 이름 무기 호) (: jQuery과, didSelectRowAt indexPath IndexPath _있는 tableView) { 하자가 스토리 보드 = UIStoryboard 을

답변

0

이의

let cell = sender as! UITableViewCell 
let indexPath = tableView.indexPath(for: cell) 
TSController.indexCell = indexPath.row 
+0

그것은 말한다 "해결되지 않은 식별자 '의 tableview'의 사용" –

+0

링크 당신의 tableview 당신의 ViewController 클래스에 또는 당신이 그것을 의미가 있습니다 – Sherman

+0

이름 때의 tableview 다른 이름이있다! 정말 고맙습니다;) –

0

FUNC에있는 tableView (SEGUE에 대한) 준비하십시오 Dvc = storyboard.instantiateViewController (withIdentifier : "DataVC")를! DataVC

Dvc.getRollNo = arrayStudent[indexPath.row].strRollNo 
    Dvc.getName = arrayStudent[indexPath.row].strName 

    self.navigationController?.pushViewController(Dvc, animated: true) 
}