我希望我的一些类(不是所有类)使用文档中的'Class-Only Protocols'来符合。我要做的是
protocol RefreshData: class, ClassA, ClassB
{
func updateController()
}
我得到了一些错误
non class type 'RefreshData cannot inherit from classA
non class type 'RefreshData cannot inherit from classB
我不确定我是否完全按照文档中的说明进行操作。有人对此有什么想法吗?
发布于 2017-02-23 15:02:40
最新版本的Swift可以做到这一点!我会做一个针对你想要的类的协议和协议扩展!(将扩展限制到特定的类)
protocol Movable {
func moveForward()
func moveBackward()
}
extension Movable where Self: Car {
func moveForward() {
self.location.x += 10;
}
func moveBackward() {
self.location.x -= 10;
}
}
extension Movable where Self: Bike {
func moveForward() {
self.x += 1;
}
func moveBackward() {
self.x -= 1;
}
}
class Car: Movable {
var location: CGPoint
init(atLocation location: CGPoint) {
self.location = location
}
}
class Bike: Movable {
var x: Int
init(atX x: Int) {
self.x = x
}
}
发布于 2016-07-08 23:47:30
protocol RefreshData : class
{
func updateController()
}
class ClassA : RefreshData
{
func updateController() {}
}
class ClassB : RefreshData
{
func updateController() {}
}
https://stackoverflow.com/questions/38270635
复制相似问题