iOS segue.destinationViewController不发送信息

时间:2016-09-24 20:54:38

标签: ios iphone swift

我正在使用Spotify API处理故事板应用。我使用这个(https://github.com/avazquezpr/SpotifyDemo)Github项目作为' base'。但问题是;这不是一个故事板应用。连接Spotify后,您将直接转到Spotify播放器。

我更喜欢:

  

connect spotify(ViewController) - >选择一个播放列表   (PlaylistController) - >去玩家(PlayController)

该应用正在ViewController获取登录信息并将其发送给播放器。但就我而言,必须通过playlistMenuController发送信息。但我认为,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
        }
    }

}

1 个答案:

答案 0 :(得分:0)

得到了解决方案,刚刚改变了

destinationViewController.currentSession = loginSession

destinationViewController.currentSession = currentSession

并删除了PlaylistController中的var loginsession。