我怎样才能实现这样的目标(不编译):
internal protocol InternalPrivateMix {
private func doPrivately()
internal func doInternaly()
}
基本上我想做一个承诺,确认类私下实现某些功能。这更适用于自我文档。我显然可以在我的类中实现这些函数,而无需正式遵循协议和编写文档来描述每个类应该实现此功能。虽然如果我可以更正式地向其他开发者传达我的意图,那将会很好。
编辑:我试图在一个文件中实现两个协议,一个私有,一个内部正如@creeperspeak建议的那样。但是我无法在其他文件中使用私有协议,所以它不起作用。答案 0 :(得分:1)
From Apple's docs看起来实现你要做的事情的唯一方法是实现2个协议 - 一个内部协议,一个私有协议,如Apple声明的那样#34;你不能将协议要求设置为不同的访问级别,而不是它支持的协议。"
答案 1 :(得分:0)
你可以这样做:
protocol P {
func int()
}
extension P {
func int() {
print("int()")
priv()
}
private func priv() {
print("priv()")
}
}
哪个可能符合您的目的 - 我使用它。