首页 > 解决方案 > 方法和协议的区别?

问题描述

在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()
    } 

}

标签: iosswiftmethodsdelegatesprotocols

解决方案


推荐阅读