如何在swift中的customcell中通过buttonclick传递Addon项目?

时间:2016-07-29 21:06:54

标签: ios swift uitableview

我有一个tableview,其中可变数量的单元格代表插件项目。它们是带有复选框按钮的自定义单元格,该按钮触发到新的ViewController。

如何在触发按钮时传递单元格中显示的插件项?

我尝试使用按钮中的tag属性传递单元格编号但是按钮点击时传递的数据如何。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("itemCell")as! ItemTableViewCell

    cell.itemName.text = (items?[indexPath.row] as? [String:AnyObject])?["name"] as? String

    cell.itemPrice!.text = "£\((items?[indexPath.row] as? [String:AnyObject])?["price"] as! String)"

    itemAddon = (items![indexPath.row] as! [String:AnyObject])["addon"] as? String


    cell.orderBtnOutlet.tag = indexPath.row


    return cell
}

我必须根据每个单元格上的按钮单击将itemname,itemPrice和itemaddon传递给ItemTableViewCell。我怎么能通过?

1 个答案:

答案 0 :(得分:0)

如果您可以访问所显示的vc中的按钮,则可以let cell = button.superview as! ItemTableViewCell访问单元格 然后,您可以访问单元格标签文本。 但这不是好方法。 如果你在故事板中指定了按钮动作来呈现其他的虚拟控制器,那么无论如何它都具有segue。为它分配一个标识符,并在tableviewcontroller覆盖方法prepareForSegue中,您可以在其中分配targetVC所需的属性