我正在尝试使用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是当前范围的私有(更接近大多数人可能认为的私有).
| 归档时间: |
|
| 查看次数: |
14548 次 |
| 最近记录: |