从UITableViewCell调用UIButton动作

我dynamic地在我的UITableviewCell类中创build了几个button,如下所示:

for (clientObjectId, _) in connectedObjectIds { self.clientNameButton = UIButton(type: UIButtonType.System) as UIButton self.clientNameButton.titleLabel?.lineBreakMode = NSLineBreakMode.ByTruncatingTail self.clientNameButton.frame = CGRectMake(self.leftSideSpaceForUsersAndUserLabel, clientNameButtonFrameHeight, self.nameButtonWidth, self.nameButtonHeight) self.clientNameButton.setTitle(self.userObjectIdsAndNames[clientObjectId], forState: UIControlState.Normal) self.clientNameButton.titleLabel!.font = UIFont(name: "Helvetica", size: 12.0) self.clientNameButton.addTarget(self, action: "asdf:", forControlEvents: UIControlEvents.TouchUpInside) self.nameButtons.append(self.clientNameButton) self.addSubview(self.clientNameButton) } 

但是,我似乎无法find一种方法来调用我的表视图单元格类中的以下function:

 func asdf(sender:UIButton) { print("Button tapped") } 

我不太在乎能够在我的UITableViewCell类中调用它,就像在我的表视图类中调用函数一样。

有人有解决这个问题?

 for (clientObjectId, _) in connectedObjectIds { self.clientNameButton = UIButton(type: UIButtonType.System) as UIButton self.clientNameButton.titleLabel?.lineBreakMode = NSLineBreakMode.ByTruncatingTail self.clientNameButton.frame = CGRectMake(self.leftSideSpaceForUsersAndUserLabel, clientNameButtonFrameHeight, self.nameButtonWidth, self.nameButtonHeight) self.clientNameButton.setTitle(self.userObjectIdsAndNames[clientObjectId], forState: UIControlState.Normal) self.clientNameButton.titleLabel!.font = UIFont(name: "Helvetica", size: 12.0) self.clientNameButton.addTarget(self, action: "asdf:", forControlEvents: UIControlEvents.TouchUpInside) self.nameButtons.append(self.clientNameButton) self.addSubview(self.clientNameButton) }