我如何实现这样的东西(不编译):
internal protocol InternalPrivateMix {
private func doPrivately()
internal func doInternaly()
}
基本上,我想做一个承诺,确认类实现了一些私下的功能。这更多的是用于自我文档。显然,我可以在我的类中实现这些功能,而不需要正式遵循协议,并编写文档来描述每个类都应该实现此功能。不过,如果我能更正式地与其他开发人员交流我的意图,那就太好了。
编辑:我尝试在一个文件中实现两个协议,一个是私有的,一个是内部的,正如@creeperspeak所建议的那样。然而,我不能在其他文件中遵循私有协议,所以它不能工作。
发布于 2017-03-04 02:23:20
From Apple's docs看起来实现你想要做的事情的唯一方法是实现两个协议-一个是内部的,一个是私有的,正如苹果公司所说的那样,“你不能将协议要求设置为与它支持的协议不同的访问级别。”
发布于 2017-10-29 11:48:16
您可以这样做:
protocol P {
func int()
}
extension P {
func int() {
print("int()")
priv()
}
private func priv() {
print("priv()")
}
}
或许能满足你的目的--我就是用它。
https://stackoverflow.com/questions/42585775
复制相似问题