将多个参数传递给addTarget

在我的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)

}

根据您的要求创建标签值并保持其完整性。

以上是 将多个参数传递给addTarget 的全部内容, 来源链接: utcz.com/qa/412553.html

回到顶部