HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何在swift中进行多重继承?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要实现一个从UITableViewController派生的类(为了便名称A)和从UICollectionViewController派生的另一个(B).并且有很多常见的东西,所以我想把它们放在一个类(C)中让A和B继承C.现在A和B都有两个继承类,但是在 swift中不允许多重继承,所以怎么实现这个?我知道swift中不允许多重继承,但我仍然想知道如何做我上面描述的事情.

解决方法

正如@ Paulw11的评论所述,是正确的.这是一个涉及A& A的例子. B继承自C.我将其命名为DogViewController和CatViewController(继承了PetViewController的形式).您可以看到协议如何有用.这只是一个非常基本的例子.
protocol Motion {
    func move()
}

extension Motion where Self: PetViewController {

    func move() {
        //Open mouth
    }

}

class PetViewController: UIViewController,Motion{
    var isLoud: Bool?

    func speak(){
        //Open Mouth
    }
}

class DogViewController:PetViewController {

    func bark() {

        self.speak()

        //Make Bark Sound
    }
}

class CatViewController: PetViewController {

    func meow() {

        self.speak()

        //Make Meow Sound


    }

}

//....

let cat = CatViewController()
cat.move()
cat.isLoud = false
cat.meow()

大佬总结

以上是大佬教程为你收集整理的ios – 如何在swift中进行多重继承?全部内容,希望文章能够帮你解决ios – 如何在swift中进行多重继承?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。