代理声明:
//oc调用代理@objc(NurseListCellDelegate)protocol NurseListCellDelegate : NSObjectProtocol{ func nurseListCellDidClickedDeleteNurseAction(nurseListCell: NurseListCell) func nurseListCellDidClickedFreezeNurseAction(nurseListCell: NurseListCell)}class NurseListCell: UITableViewCell{ weak var delegate : NurseListCellDelegate?}
代理触发
func delNurseAction() { if (delegate != nil && (delegate?.respondsToSelector(Selector("nurseListCellDidClickedDeleteNurseAction")))!) { delegate!.nurseListCellDidClickedDeleteNurseAction(self) } } func freezeNurseAction() { if (delegate != nil && (delegate?.respondsToSelector(Selector("nurseListCellDidClickedFreezeNurseAction")))!) { delegate!.nurseListCellDidClickedFreezeNurseAction(self) } }
代理使用
//在oc中创建后,直接添加代理nurseCell.delegate = self;//实现- (void)nurseListCellDidClickedDeleteNurseAction:(NurseListCell *)nurseListCell{ NSLog(@"%s",__func__);}- (void)nurseListCellDidClickedFreezeNurseAction:(NurseListCell *)nurseListCell{ NSLog(@"%s",__func__);}