由于"私人"保护级别,func无法访问

Fai*_*yed 11 swift swift3

我正在尝试使用Swift 3将我的项目从iOS 8迁移到Xcode 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
}
Run Code Online (Sandbox Code Playgroud)

这是我的班级遵守的协议:

private protocol SeekerViewDelegate: class {
func seekerViewBeginSeeking(view: SeekerView)
func seekerView(view: SeekerView, didSeek progress: CGFloat)
func seekerViewDidEndSeeking(view: SeekerView)
}
Run Code Online (Sandbox Code Playgroud)

我仍在努力掌握fileprivate,private和internal的概念.

感谢所有帮助

Rob*_*ier 25

internal是当前模块的私有.fileprivate是当前文件(曾经被调用private)的私有文件.新的private是当前范围的私有(更接近大多数人可能认为的私有).