【发布时间】:2017-03-03 18:11:58
【问题描述】:
我怎样才能实现这样的事情(不编译):
internal protocol InternalPrivateMix {
private func doPrivately()
internal func doInternaly()
}
基本上,我想做出一个承诺,即确认类会私下实现某些功能。这更适用于自我文档。我显然可以在我的类中实现这些功能,而无需正式遵守协议,并编写描述每个类都应实现此功能的文档。虽然如果我能更正式地将我的意图传达给其他开发人员,那就太好了。
编辑:我尝试在一个文件中实现两种协议,一种是私有的,一种是内部的,正如@creeperspeak 所建议的那样。但是我不能遵守其他文件中的私有协议,所以它不起作用。
【问题讨论】:
-
根据 Apple 的文档:如果要为协议类型分配显式访问级别,请在定义协议时执行此操作。这使您能够创建只能在特定访问上下文中采用的协议。协议定义中每个需求的访问级别会自动设置为与协议相同的访问级别。您不能将协议要求设置为与其支持的协议不同的访问级别。这确保了协议的所有要求在采用该协议的任何类型上都是可见的。