在阅读docs之后,我发现了
在Swift中,与Objective-C一样,协议一致性是全局的 - 类型不可能在同一程序中以两种不同的方式符合协议。
那么私有前缀的目的是什么
private protocol PartyFormViewControllerDelegate: class {
func partyFormViewController(controller: PartyFormViewController, cancelButtonPressed button: UIBarButtonItem)
}
class PartyFormViewController: GenericViewController {
//...
}
答案 0 :(得分:1)
private
表示:在当前源文件中可见。私有Type
可以符合私有协议,请看:
private protocol Animal { }
private class Dog: Animal { }
class Zoo {
private var animals = [Animal]()
var count : Int { return animals.count }
}
此处,动物和狗只在当前文件中可见。但是,Zoo
使用它们具有内部可见性,并将动物的数量暴露给整个模块。