加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift中代理的定义使用

发布时间:2020-12-14 06:56:21 所属栏目:百科 来源:网络整理
导读:Demo----- 第一步:// 定义协议 协议名自己定@objc protocol MyViewDelegate: NSObjectProtocol { // 什么都不修饰默认必须实现,加上optional可选实现 /// 关闭控制器的代理方法 func myViewDelegateMethod(param: NSString); }第二步: /** 声明代理 代理 要

Demo----->

第一步:
// 定义协议 协议名自己定
@objc protocol MyViewDelegate: NSObjectProtocol {

    // 什么都不修饰默认必须实现,加上optional可选实现
    
    /// 关闭控制器的代理方法
    func myViewDelegateMethod(param: NSString);
 
    
}

第二步:
    /**
     声明代理  代理 要使用 weak 属性关键字
     swift 属性默认都是strong  代理同样也需要使用weak
    */
    weak var myViewDelegate: MyViewDelegate?

第三步:

// 在需要的地方调用代理方法 
        myViewDelegate?.myViewDelegateMethod();

 
此时切换类

第四步:

// 在需要接收代理的地方设置代理
myView.myViewDelegate = self;

第五步:

// MARK:
// MARK: 代理方法实现 报错代表必须实现的代理方法未实现
extension 切换的类名: MyViewDelegate {
    
    func myViewDelegateMethod(param: NSString) {
        
        print("切换的类名中实现MyView的代理方法,得到的参数是:(param)");
 

    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读