菜鸡学Swift3.0 15.2 协议 在代理模式中的使用、协议方法的可选性

import UIKit
// 协议在代理模式中的使用
protocol BuyDelegate: class {
func buyTicket ()
}

    class Person {
        // 定义代理属性
        weak var delegate: BuyDelegate?

        func goToJS() {
        // goToJS方法使用代理模式
        delegate?.buyTicket()
    }
}

// 协议中方法是可选方法
/*
1. protocol前面加上 @objc
2. 方法前面加上 @objc optional
 */
@objc protocol TestP {
    @objc optional func test()
}

class a: TestP {
    // 这里我不想实现方法
}

你可能感兴趣的:(菜鸡学Swift3.0 15.2 协议 在代理模式中的使用、协议方法的可选性)