在我的UITableViewCell我有一个按钮。我想通过在cellForRowAtIndexPath方法中传递多个参数来为其添加动作。
UITableViewCell
cellForRowAtIndexPath
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("CartCell", forIndexPath: indexPath) as! CartTableViewCell cell.buyButton.addTarget(self, action: self.buyButton(indexPath, 2, 3 ,4 , 5, 6), forControlEvents: .TouchUpInside) }
也许你可以做这样的事情
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("CartCell", forIndexPath:indexPath) as! CartTableViewCell cell.buyButton.tag = (indexPath.section*100)+indexPath.row cell.buyButton.addTarget(self, action: "btnBuy_Click:", forControlEvents: .TouchUpInside) } func btnBuy_Click(sender: UIButton) { //Perform actions here let section = sender.tag / 100 let row = sender.tag % 100 let indexPath = NSIndexPath(forRow: row, inSection: section) self.buyButton(indexPath, 2, 3 ,4 , 5, 6) }
根据您的要求创建标签值并保持其完整性。