2015-03-05 7 views
5

Ich arbeite an einem Erstellen eines Sidebar-Menüs mit SWRevealViewController in Swift. Das Problem ist, bekomme ich folgende Fehlermeldung: ‚PrincipalViewController‘ hat kein Mitglied namens ‚revealViewController‘Problem: 'PrincipalViewController' hat kein Member namens 'revealViewController' in swift

Der Code arbeite ich an ist:

class PrincipalViewController: UIViewController { 
@IBOutlet weak var menuButton:UIBarButtonItem! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // This is the line with the error 
    if self.revealViewController() != nil { 

     menuButton.target = self.revealViewController() 
     menuButton.action = "revealToggle:" 
     self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 

     // Uncomment to change the width of menu 
     //self.revealViewController().rearViewRevealWidth = 62 
    } 

} 

Irgendwelche Ideen? Vielen Dank

+0

Was ist 'self.revealViewController()'? –

+0

Ich denke, der View-Controller für die Seitenleiste. Aber ich habe eine Suche in der Demo-App, die funktioniert und es gibt keinen Verweis auf diese Ansicht –

+0

Dies ist die Website, wo ich den Code heruntergeladen habe (http://www.appcoda.sidebar-menu-swift/) –

Antwort

4

Ich habe gerade das Problem gefunden. In der App gibt es einen Ziel-C-Code, und der Bridging-Header war nicht gut konfiguriert. Vielen Dank

2

Um dies für andere zu klären, die die Erklärung der Antwort nicht verstehen ... Stellen Sie sicher, dass die Bridging-Header-Datei mit dem Pfad des Objective C Bridging Header verbunden ist, der im Swift Compiler in Build gefunden wird Einstellungen Ihres Projekts ...

Hier ist ein Link für die Art und Weise ist zu prüfen, ob es da ist, schauen sie unter manuell für ein Bild als auch das Hinzufügen ...

http://www.learnswiftonline.com/getting-started/adding-swift-bridging-header/

5

Ab Cocoapods > 0.36, wenn Sie Cocoapods verwenden, um SWRevealViewController zu Ihrem Projekt hinzuzufügen, nicht mit th e Überbrückungskopf Entfernen Sie einfach use_frameworks! in Ihrem Podfile. Dann import SWRevealViewController in Ihre ViewController.swift Datei. Here's a great article that explains it.