美文网首页
Swift代理

Swift代理

作者: 古月思吉 | 来源:发表于2018-09-30 11:45 被阅读0次

一、swift代理如何使用?
1.定义协议&代理变量&调用代理方法:

//定义协议
protocol AJImgPickerControllerDelegate: NSObjectProtocol {
    //返回选中的图片
    func backChoosedImages(choosedImages: [AJImgPickerCellModel]?)
}

//定义代理属性
weak var delegate:AJImgPickerControllerDelegate?

//调用代理方法
self.delegate?.backChoosedImages(choosedImages: self?.choosedDataSource)

2.遵循代理&重写代理方法

vc.delegate = self

//MARK: - AJImgPickerControllerDelegate
extension PublishDynamicController: AJImgPickerControllerDelegate {
    
    func backChoosedImages(choosedImages: [AJImgPickerCellModel]?) {
        //...
    }
    
}

二、如果有些代理方法不是必须遵守的,怎么办?

  • 按照上面的方式定义代理方法,会导致delegate需要实现所有的代理方法,而很多时候,代理方法是否实现,是可选的。
    1.可选代理的定义
@objc protocol SingSoundEvaluatinToolDelegate: NSObjectProtocol {
    //测评停止并返回测评结果
    func oralEvaluatingDidEnd(withResult result: [AnyHashable : Any]!, isLast: Bool)
    //测评开始
    @objc optional func oralEvaluatingDidStart()
}


//调用必须实现的代理方法
self.delegate?.oralEvaluatingDidEnd(withResult: result, isLast: isLast)
//调用可选的代理方法
self.delegate?.oralEvaluatingDidStart?()

相关文章

  • swift开发的小坑

    swift 几个比较好的UI库 swift UI库 1.tableView的代理方法 在swift中代理变得更加重...

  • Swift代理协议的安全使用

    文章 Swift代理协议的安全使用 概述 在Swift下,使用代理协议,并且检验代理对象的存在和协议函数是否被实现...

  • delegate

    Swift的delegate 用weak修改的时候的注意事项Swift-代理

  • Swift代理

    一、swift代理如何使用?1.定义协议&代理变量&调用代理方法: 2.遵循代理&重写代理方法 二、如果有些代理方...

  • Swift2.0 代理的使用

    标签(空格分隔): IOS-Swift [toc] 声明一个代理协议 声明代理属性 调用代理方法 给代理赋值 继承...

  • oc程序员学习swift(二)- 协议代理使用

    swift协议代理的使用跟oc的协议代理差不套多,不过语法上还是有不小的区别。swift使用协议的关键字:...

  • OC中调用swift的代理

    swift中代理的声明: OC中的实现:

  • OC、swift混编中的反向传值

    一 OC向swift传值 1) 代理 1.1在oc中创建 代理 #import @protocolSecon...

  • Swift协议+代理

    Swift语言开发中使用协议+代理的用法和oc中是一样的,只不过变得是语法。现在就进入swift的协议+代理。 先...

  • Swift 代理

    Swift中的代理和OC中的差不多1, 声明代理 2, 设置变量 3, 调用代理方法 4, 注册代理 5, 实现代...

网友评论

      本文标题:Swift代理

      本文链接:https://www.haomeiwen.com/subject/xwovoftx.html