Class-Swift 中的内部协议
Class-internal Protocols in Swift
如何在 Swift 中实施 class- 内部协议?
问题是
class C {
private protocol P {
func aFunction()
}
private class D: P {
func aFunction() {
//...
}
}
}
导致错误
Declaration is only valid at file scope
有什么绕过这个问题的想法吗?
排除:我做不是参考class-only protocols,当然有可能。
swift 中的访问控制是基于文件的。我不相信您可以在 class 中定义协议,但您可以将其包含在同一文档中。
private protocol P {
func aFunction()
}
class C {
private class D: P {
private func aFunction() {
//...
}
}
}
当然这并不意味着继承自classC
的classes可以使用协议P
.
据我所知Swift不支持基于继承的访问控制。
如何在 Swift 中实施 class- 内部协议?
问题是
class C {
private protocol P {
func aFunction()
}
private class D: P {
func aFunction() {
//...
}
}
}
导致错误
Declaration is only valid at file scope
有什么绕过这个问题的想法吗?
排除:我做不是参考class-only protocols,当然有可能。
swift 中的访问控制是基于文件的。我不相信您可以在 class 中定义协议,但您可以将其包含在同一文档中。
private protocol P {
func aFunction()
}
class C {
private class D: P {
private func aFunction() {
//...
}
}
}
当然这并不意味着继承自classC
的classes可以使用协议P
.
据我所知Swift不支持基于继承的访问控制。