Мне нужно получить SpotifyAccessToken из моего LoginViewController в мой GuestPartyViewController.
class LoginViewController: UIViewController {
@IBOutlet weak var spotifyLoginBtn: UIButton!
var spotifyId = ""
var spotifyDisplayName = ""
var spotifyEmail = ""
var spotifyAvatarURL = ""
var spotifyAccessToken = ""
override func viewDidLoad() {
super.viewDidLoad()
spotifyLoginBtn.layer.cornerRadius = 10.0
}
И мне нужно использовать эту переменную в searchURL моего GuestPartyViewController.
import UIKit
import Alamofire
import AVFoundation
class GuestPartyViewController: UIViewController {
@IBOutlet weak var partyNameLabel: UILabel!
var partyName: String?
@IBOutlet weak var partyDescriptionLabel: UILabel!
var partyDescription: String?
@IBOutlet var searchBar: UISearchBar!
var spotifyAccessToken: String?
var searchURL = "https://api.spotify.com/v1/search?q=Kanye%20West&type=track&access_token=\(spotifyAccessToken)" // The error here is: Cannot use instance member 'spotifyAccessToken' within property initializer; property initializers run before 'self' is available
class DetailsViewController:UIViewController {
var spotifyAccessToken: String?
@IBAction func startPartyButton(_ sender: Any) {
performSegue(withIdentifier: "startParty", sender: self)
}
@IBAction func joinPartyButton(_ sender: Any) {
performSegue(withIdentifier: "joinPartySeg", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if(segue.identifier == "startParty") {
let GuestPartyVC = segue.destination as! GuestPartyViewController
// Here is where I get the error
GuestPartyVC.spotifyAccessToken = spotifyAccessToken
}
}
Я думал об объявлении этого в делегате приложения, но я не уверен, как это сделать, поскольку он впервые объявлен в LoginViewController.