func est inaccessible en raison de "privé" niveau de protection
Je suis en train de migrer mon projet à partir d'iOS 8 à iOS 10 dans Xcode 8 utilisation de Swift 3. J'ai rencontré une erreur dans mon poste j'ai déclaré un fichier privé des fonctions, et les méthodes au sein de ces fonctions sont inaccessibles en raison de privée niveau de protection.
Est ici où je reçois le message d'erreur:
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
}
C'est le protocole que ma classe est conforme à:
private protocol SeekerViewDelegate: class {
func seekerViewBeginSeeking(view: SeekerView)
func seekerView(view: SeekerView, didSeek progress: CGFloat)
func seekerViewDidEndSeeking(view: SeekerView)
}
J'ai encore des difficultés à saisir le concept de fileprivate, privé, interne et.
Toute aide est très appréciée, merci
OriginalL'auteur Faisal Syed | 2016-09-27
Vous devez vous connecter pour publier un commentaire.
internal
est privé pour le module en cours.fileprivate
est privé du fichier actuel (qui s'appelaitprivate
). La nouvelleprivate
est privé à la portée actuelle (plus proche de ce que la plupart des gens pensent probablement de privé).Oui; sinon elles sont limitées à l'étendue actuelle
que faire si je veux qu'il soit privé de la catégorie, mais déclarer l'extension dans un autre fichier?
Votre meilleur choix est d'utiliser internes.
Il doit être d'au moins interne pour les tests pour voir.
OriginalL'auteur Rob Napier