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