第一步: // 定义协议 协议名自己定 @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)"); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。