我希望我的一些课程(不是全部)符合使用“仅限类的协议” https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html来自文档。我正在做的是
protocol RefreshData: class, ClassA, ClassB
{
func updateController()
}
我收到错误
non class type 'RefreshData cannot inherit from classA
non class type 'RefreshData cannot inherit from classB
我不确定我是否完全按照文档中的方式进行操作。有人对此有什么想法吗?
Swift 4 允许您组合类型,因此您可以拥有自己的协议,然后创建一个类型别名,以将其与特定的类要求相结合。
对于(一个人为的)例子:
typealias PresentableVC = UIViewController & Presentable
对于所提供的代码:
问题是你试图限制特定的类,而 Swift 无法做到这一点(无论如何目前)。您只能限制为类并从其他协议继承。您的语法用于协议继承,但您尝试将其用作类限制。
请注意,类协议的目的是:
当协议要求定义的行为假设或要求一致类型具有引用语义而不是值语义时,请使用仅类协议。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)