2017-02-17 88 views
0

我有一些單元格(圖像波紋管)由tab []創建我需要在這個視圖上繼續正確的值到另一個視圖(moreViewController)我有'nazwa''szerokosc''dlugosc',我需要保存到nazwa正確的「地方」從細胞等 有人有任何解決辦法?我搜索,但我沒有找到:/Segue與TableView

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){ 
    self.performSegue(withIdentifier: "more", sender: tableView) 
} 
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

    let destViewController:moreViewController = segue.destination as! moreViewController 

} 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return nazwaTab.count 
} 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! cellTableViewCell 
    let nazwa = nazwaTab[indexPath.row] 
    let szerokosc = szerokoscTab[indexPath.row] 
    let dlugosc = dlugoscTab[indexPath.row] 
    cell.nazwaLabel.text = nazwa 
    cell.szerokoscLabel.text = szerokosc 
    cell.dlugoscLabel.text = dlugosc 
    return (cell) 
} 

IMAGE I CAN't "post images yet "

+0

問題是什麼選擇獲取文本? –

+0

你的問題不清楚。 「你需要從細胞等保存到nazwa正確的」地方「是什麼意思?」。 你想得到哪個圖像/標籤被點擊或什麼? – Priyal

+0

Nooo,當我點擊某個單元格時,我需要將https://scr.hu/BL69P4放到這個視圖中,但是當我點擊放置時18「nazwa」必須放置18,當我點擊放置時24「nazwa」必須放置24 – k0le

回答

1

MoreViewController中聲明一個變量nazwa並在繼續之前爲其分配一個值。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
      let identifier = segue.identifier ?? "" 
      switch identifier { 
       case "more": 
       guard let vc = segue.destination as? MoreViewController else { 
        return 
       } 
       vc.nazwa = self.clickedNazwa 
       default: 
       break 
      } 
} 

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){ 
    self.clickedNazwa = nazwaTab[indexPath.row]   
    self.performSegue(withIdentifier: "more", sender: tableView) 

} 
+0

哦...我忘了關於didSelectRowAtIndexPath ....非常感謝你sooo – k0le

+0

有你想法爲什麼我把它作爲「可選」? – k0le

+0

它有很好的可選性。如果你不想讓它成爲可選的,那麼在'MoreViewController'中用'!'在類型的末尾聲明'nazwa'變量。例如'var nazwa:String!' – MjZac

0

您可以選擇行保存到全局變量和調用之後使用它:準備(對於SEGUE:UIStoryboardSegue,發件人:任何? )

0

試試這個

上做了哪些傳遞到一個控制器

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){ 
    let text = nazwaTab[indexPath.row] 
    self.performSegue(withIdentifier: "more", sender: text) 
} 



override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

    let destViewController:moreViewController = segue.destination as! moreViewController 
    destViewController.text = sender as! String 

}