我正在尝试使用 Swift 3 将我的项目从 Xcode 8 中的 iOS 8 迁移到 iOS 10。我遇到了一个错误,在我的扩展中我声明了一些文件私有函数,并且由于以下原因,这些函数中的方法无法访问私人保护级别。
这是我收到错误的地方:
extension VideoViewerViewController: SeekerViewDelegate {
fileprivate func seekerViewBeginSeeking(view: SeekerView) {
self.shouldStartPlayingAfterSeek = self.player.rate > 0.0 //'shouldStartPlayingAfterSeek' is inaccessible due to 'private' protection level
self.pause() //'pause()' is inaccessible due to 'private' protection level
}
这是我的班级遵守的协议:
private protocol SeekerViewDelegate: class {
func seekerViewBeginSeeking(view: SeekerView)
func seekerView(view: SeekerView, didSeek progress: CGFloat)
func seekerViewDidEndSeeking(view: SeekerView)
}
我仍然在努力理解 fileprivate、私有和内部的概念。
感谢所有帮助,谢谢
internal
是当前模块私有的。fileprivate
对当前文件是私有的(以前称为private
)。新的private
对于当前范围来说是私有的(更接近大多数人可能认为的私有)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)