gpt4 book ai didi

swift - Swift 中的类内部协议(protocol)

转载 作者:可可西里 更新时间:2023-11-01 00:52:09 26 4
gpt4 key购买 nike

如何在 Swift 中实现类内部协议(protocol)?

问题是

class C {
private protocol P {
func aFunction()
}

private class D: P {
func aFunction() {
//...
}
}
}

导致错误

Declaration is only valid at file scope

有什么绕过这个问题的想法吗?

排除:我引用class-only protocols ,这当然是可能的。

最佳答案

swift 中的访问控制是基于文件的。我不认为您可以在类中定义协议(protocol),但可以将其包含在同一文档中。

private protocol P {
func aFunction()
}

class C {
private class D: P {
private func aFunction() {
//...
}
}
}

当然这并不意味着继承自类C的类可以使用协议(protocol)P

据我所知,Swift 不支持基于继承的访问控制。

关于swift - Swift 中的类内部协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34293697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com