美文网首页
swift面向协议编程(1)

swift面向协议编程(1)

作者: Supersweet007 | 来源:发表于2017-06-28 20:53 被阅读8次

声明一个Shake动画的协议

protocol Shakeable {
}

给协议拓展一个shake的方法


extension Shakeable where Self: UIView {
    
    func shake() {
        
        
        let animation = CABasicAnimation(keyPath: "position")
        animation.duration = 0.05
        animation.repeatCount = 5
        animation.autoreverses = true
        animation.fromValue = NSValue(cgPoint: CGPoint(x: center.x - 4, y: center.y - 4))
        animation.toValue = NSValue(cgPoint: CGPoint(x: center.x + 4, y: center.y + 4))
        layer.add(animation, forKey: "position")
        
        
    }
}

写一个自定一个button 遵循协议


class ActionButton: UIButton,Shakeable {
}

之后创建ActionButton 就拥有了shake事件 ,如果其他控件也需要用到这个shake 只需要遵循shakeable协议即可

相关文章

  • Swift从入门到精通-1

    一、Swift和Objective-C比较 1、编程范式:Swift可以面向协议编程,函数式编程,面向对象编程;O...

  • swift和OC的比较

    swift ----OC比较 编程范式 Swift 可以面向协议编程、函数式编程、面向对象编程。Objective...

  • [Swift5.1] 27-面向协议编程

    面向协议编程 面向协议编程(Protocol Oriented Programming,简称POP) 是Swift...

  • Swift 中协议的扩展的简单应用

    参考: Swift面向协议编程初探 从 Swift 的面向协议编程说开去 根据下面的结构 设计类和协议 使用:

  • Swift 基本语法(一)— 值类型

    Swift 与 OC 语言的区别 1.Swift 面对协议编程、 面向函数编程、面向对象编程。 函数成了一等公民...

  • Swift 中的面向协议编程

    Swift 中面向协议编程的应用,与面向对象不同的编程模式。在 Swift 这个现代化的编程语言中,感受面向协议带...

  • Swift 面向协议编程遇到的问题

    Swift 面向协议编程 背景 Swift 面向协议编程在 WWDC 2015 中提出, 业界已经有很多优秀的实践...

  • Swift面向协议编程

    Swift面向协议编程 不要用子类!Swift的核心是面向协议 Protocol Oriented Program...

  • Swift-面向协议编程(转载)

    Swift的核心 我们可以通过等式的传递性来理解swift: Swift的核心是面向协议的编程。 面向协议的编程的...

  • 面向协议编程

    面向协议编程 面向协议编程Protocol Oriented Programming简称POP.是Swift的一种...

网友评论

      本文标题:swift面向协议编程(1)

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