swift代理使用

代理声明:

//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__);
}

 

posted on 2016-04-22 13:35  On1Key  阅读(352)  评论(0编辑  收藏  举报

导航