swift通过tableview和viewController之间的值

问题描述:

我知道这个问题被问了很多次..从过去的2天。请帮帮我。swift通过tableview和viewController之间的值

我有一个自定义TableView尝试从该Tableview的数组传递几个数据到下一个视图。

错误:意外地发现零,同时展开一个可选值。

我尝试了很多方法..但没有成功。

编辑

终于解决

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 


    if segue.identifier == "SegueToQR" 
    { 
     let controller = segue.destinationViewController as! QRcodeViewController 
     if let button = sender as? UIButton { 
      let cell = button.superview?.superview?.superview as! PatientTableViewCell 
      controller.passName = cell.patientName.text 
      controller.passAdress = cell.adress.text 
     } 
    } 

    } 
+0

你可以包含你的QRcodeViewController的代码吗?特别是在哪里定义了passName和passAdress属性? –

+1

尝试像'performSegueWithIdentifier(“SegueToQR”,发件人:发件人为!UIButton)' –

+0

看到这个http://www.itstrike.cn/Question/27c2fa4b-0c1b-43cc-8b1a-5263b2d401c1.html –

你的逻辑是错误的。 UITableView只维护在屏幕上可见的单元格。所以如果你试图访问一个不可见的单元格,它会给出零例外。

首先不要使用CGPoint来获取索引。为单元格中的每个按钮分配一个标签,并在performSegue函数的sender参数中传递该按钮。

然后你应该维护你的患者数据在一个数组中。然后使用button.tag作为数组的索引访问数据。你将得到你的病人模型对象,从这个对象中,你可以将数据传递给下一个视图控制器。