方法和协议之间的区别?

时间:2018-07-13 01:37:43

标签: ios swift methods delegates protocols

在classC中,方法和协议都可以调用函数,它们之间有什么区别?方法会消耗更多的内存吗?

我知道的一件事是协议可以包含不同类的功能。

protocol MyDelegate{
    func printInA()
}

class ClassA: UITableViewController, MyDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func printInA(){
        print("I'm in ClassA")
    }
}

class ClassB: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func pringInB(){
        print("I'm in ClassB")
    }
}


class ClassC: UITableViewController {

    var myInstance:MyDelegate = ClassA()

    override func viewDidLoad() {
        super.viewDidLoad()

        myInstance.printInA()

        let k = ClassB()
        k.pringInB()
    } 

}

0 个答案:

没有答案