Devo passare una variabile dall'AppDelegate a un'altra classe che ho creato per contenere le variabili globali del progetto e non sono in grado di trovare un modo per farlo funzionare.Rapido Passaggio dei dati da appDelegate a un'altra classe
Questo è il codice che AppDelegate:
func application(application: UIApplication!, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData!) {
println("Device's token is: \(deviceToken)")
//Global Variables Class Instance
let globals:Globals = Globals()
globals.setDeviceToken("test1") //method1 not working
globals.deviceToken = "test2" //method2 not working
}
Questa è la mia classe Globals:
public class Globals {
var deviceToken = String()
init() {
//nothing
}
func setDeviceToken(s:String){
deviceToken = s
}
func getDeviceToken() -> String {
return deviceToken
}
}
se provo a stampare il valore, da altri file del progetto, sono non è in grado di ottenere nulla, solo una stringa vuota.
class ViewController: UIViewController {
//Global Variables Class Instance
let globals:Globals = Globals()
override func viewDidLoad() {
println(globals.getDeviceToken()) //return empty string
println(globals.deviceToken) //return empty string
*** AGGIORNAMENTO: A coloro che hanno votato la mia domanda: Grazie mille. Scusa se non sono un esperto di Swift (ancora) e scusa se sto usando StackOverflow per chiedere qualcosa che non conosco!
Quanti dati devono essere conservati nel delegato dell'app? NESSUNA! MAI! Non farlo Non è ciò per cui è delegato l'app. – Fogmeister
Non c'è bisogno di arrabbiarsi, sono solo un principiante e sto cercando di imparare. @Fogmeister – MeV