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