2016-09-24 1 views
0

Ich arbeite an einer Storyboard-App mit der Spotify API. Ich habe dieses (https://github.com/avazquezpr/SpotifyDemo) Github-Projekt als "Basis" verwendet. Aber die Sache ist; Dies ist keine Storyboard-App. Nachdem Sie sich mit Spotify verbunden haben, gehen Sie direkt zum Spotify-Player.iOS segue.destinationViewController sendet keine Informationen

Ich ziehe:

connect Spotify (Viewcontroller) -> wählen Playlist (PlaylistController) -> zum Spieler (PlayController)

Die App wird immer die Anmeldeinformationen an der ViewController und senden Sie sie an den Spieler. Aber in meinem Fall muss die Information durch die playlistMenuController gesendet werden. Aber ich denke, etwas stimmt nicht mit dem segue.destinationviewcontroller.

ViewController:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "goToPlaylistMenu" { 

      let destinationViewController: PlaylistController = segue.destinationViewController as! PlaylistController 

      // Send current Spotify Session 
      destinationViewController.currentSession = loginSession 
     } 
    } 

PlaylistController:

lazy var currentSession = SPTSession() 
var loginSession = SPTSession() 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 


// NAVIGATION 
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "goToPlayer" { 

     let destinationViewController: PlayerController = segue.destinationViewController as! PlayerController 

     destinationViewController.currentSession = loginSession 
     } 
    } 

}

+0

Welcher View-Controller erhält die Sitzung nicht? Warum deklarieren Sie sowohl currentSession- als auch loginSession-Variablen? –

+0

Die mit dem Player (PlayController) ruft die Sitzung nicht ab. hatte ich die currentSession und loginSession, bc, wenn ich einen von ihnen entfernen, erhalte ich oder diese Fehler bei den Viewcontroller: ‚Werte vom Typ‚PlaylistlistController‘hat kein Mitglied von‚currentSession‘ Oder ich am PlaylistController : 'Verwendung des nicht aufgelösten Bezeichners' loginSession ' – Imaij

+0

Im Demo-Code auf GitHub erklärt der NowPlayingController nur currentSession. Ich glaube nicht, dass Sie zwei verschiedene Session-Objekte wollen. Auch dieses Beispiel ruft eine Login-Methode mit dem currentSession-Objekt auf, wahrscheinlich um die Sitzung wiederherzustellen. –

Antwort

0

Haben Sie die Lösung änderte sich nur

destinationViewController.currentSession = loginSession 

zu

destinationViewController.currentSession = currentSession 

und löschte die var loginsession in der PlaylistController.

Verwandte Themen