前端之家收集整理的这篇文章主要介绍了
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)");
-
-
- }
- }