美文网首页
如何在Swfit中定义可选方法

如何在Swfit中定义可选方法

作者: fever105 | 来源:发表于2016-03-09 20:35 被阅读123次

如何在Swfit中定义可选方法


可选方法的声明

Swfit中的所定义的协议,一旦遵守必须实现所有协议方法,如果做到OC一样定义可选方法呢?

  • 声明协议时前面加上@objc,表示这是一个OC类型的协议,这个协议可以只能被OC的类所遵守,OC类型的协议所继承

  • 另外,可选方法前像OC一样加上optinal即可

    /*
    注意,@objc
    */
    @objc protocol KLXMultiDropDownMenuDelegate: NSObjectProtocol {
        // 每次展开/收起之前调用,通过multiDropDownMenu.bounds.height获取展开/收起后的高度
        /*
        注意optional修饰
       */
        optional func multiDropDownMenuWillChangeBounds(multiDropDownMenu: KLXMultiDropDownMenu)
    }
    

执行可选方法

  • 执行可选方法前,要向OC一样对其进行判断方法就是函数指针,判断其是否为nil即可

    /*
    如果代理实现了可选方法(方法不为nil),就执行
    */
    if self.delegate?.multiDropDownMenuWillChangeBounds != nil {
        self.delegate?.multiDropDownMenuWillChangeBounds!(self)
     }
    

总结

  • 对于Swift类型的协议,其所有方法都是必选方法,一旦遵守必须实现
  • @objc修饰的协议是OC类型的协议,可以定义可选方法(PS:UIKit / Foundation框架内的协议都是OC类型的协议)

相关文章

  • 如何在Swfit中定义可选方法

    如何在Swfit中定义可选方法 可选方法的声明 Swfit中的所定义的协议,一旦遵守必须实现所有协议方法,如果做到...

  • TypeScript中的函数

    函数的定义 ES5中的定义 TypeScript中的定义 定义方法的传参 没有返回值的方法 方法的可选参数(可选参...

  • Swift 可选类型

    Swift 可选(Optionals)类型 Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,...

  • Swift 可选(Optionals)类型

    Swift 的可选(Optional)类型,用于处理值缺失的情况 Swfit语言定义后缀?作为命名类型Option...

  • 每天学一点Swift----面向对象下(八)

    十五.可选协议 1. Swift还支持在协议中定义定义可选成员要求(包括属性、方法、下标,不包括构造器)----是...

  • 四、Swift3.0值可选项(概念、默认值)

    1.原始的可选项定义方法 2.简单的定义可选项方法其中,? 用来定义y是一个可选的Int类型,可能有值,可能没有值...

  • iOS开发 - 「Swift 学习」Swift可选(Option

    Swift 的可选(Optional)类型,用于处理值缺失的情况(不确定是否有值) Swfit语言可选(Optio...

  • TypeScript接口与泛型

    接口 定义方法中参数的约束 自定义方法传入参数对json的约束 接口:行为和动作的规范,对批量方法进行约束 可选属...

  • 03. typescript函数定义

    函数定义 2.定义方法传参 方法可选参数 (可选参数必须配置在参数最后面) 默认参数 剩余类型 函数重载 同样的方...

  • Dart-方法

    方法的定义 可选参数 默认参数 方法对象 匿名方法 闭包 1. 方法的定义 方法定义:返回类型 方法名(参数1、参...

网友评论

      本文标题:如何在Swfit中定义可选方法

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