2015-03-05 28 views
5

Sto lavorando alla creazione di un menu della barra laterale utilizzando SWRevealViewController in Swift. Il problema è che ottengo il seguente errore: 'PrincipalViewController' non ha un membro denominato 'revealViewController'Problema: 'PrincipalViewController' non ha un membro denominato 'revealViewController' in swift

Il codice di cui sto lavorando è:

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 
    } 

} 

Tutte le idee? Grazie mille

+0

Che cos'è 'self.revealViewController()'? –

+0

Penso che sia il controller di visualizzazione per la barra laterale. Ma ho fatto una ricerca nell'app demo che funziona e non c'è alcun riferimento a quella vista –

+0

Questo è il sito in cui ho scaricato il codice (http://www.appcoda.com/sidebar-menu-swift/) –

risposta

4

Ho appena trovato il problema. Nell'app è presente il codice obiettivo-c figlio e l'intestazione del bridging non è stata configurata correttamente. Grazie mille

2

Per chiarire questo per gli altri che non capiscono la spiegazione della risposta ... Assicurati che il file di intestazione Bridging sia collegato al Path dell'heading Bridging Objective C che si trova nel compilatore Swift trovato in Build impostazioni del progetto ...

Ecco un link per il modo per verificare se è lì, guardare sotto l'aggiunta manualmente per una foto così ...

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

5

come di Cocoapods > 0.36, se stai usando Cocoapods per aggiungere SWRevealViewController al tuo progetto, non scherzare con e intestazione di bridging. Basta decommentare use_frameworks! nel proprio Podfile. Quindi import SWRevealViewController nel file ViewController.swift. Here's a great article that explains it.

Problemi correlati