2017-02-17 71 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 

}