Swift中代理的定义使用

前端之家收集整理的这篇文章主要介绍了Swift中代理的定义使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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)");
 

    }
}

猜你在找的Swift相关文章