程序员

Swift笔记<十八>协议

2018-04-09  本文已影响13人  大基本功
1.协议的基本使用
 //如果遵循了协议,要求必须要实现协议里面所有的方法
//类遵循协议
class Person:Work{
   
   func run(){
       print("xxx")
   }
}
enum Direction:Work{
   case left
   case right
   case up
   case down
   
   func run() {
       print("枚举")
   }
}
Direction.left.run()
struct Point:Work{
   
   func run() {
       print("结构体")
   }
}

let p = Point()
p.run()
protocol Work {
    func run()
}
class Person{
}
class Stu:Person,Work{  
}
protocol Work {
    func run()
}
protocol Work2:Work {
    func run2()
}
class Person{ 
}
class Stu:Person,Work2{
    func run() {
        print("1")
    }
    func run2() {
        print("2")
    } 
}
2.协议中代理的使用
protocol Work :NSObjectProtocol {
    func doWork()
}
class Person: NSObject,Work{
    func doWork() {
        print("人开始工作")
    }
class Master{
    weak var delegate:Work?  
}
let master = Master()
master.delegate = Person()
3.协议中的可选
@objc
protocol Work {
  @objc optional func doWork()
}
class Person:Work{    
}
上一篇 下一篇

猜你喜欢

热点阅读