मुझे ऐपडिलेगेट से दूसरे क्लास में एक वैरिएबल पास करने की आवश्यकता है जिसे मैंने प्रोजेक्ट के वैश्विक चर रखने के लिए बनाया है और मैं इसे काम करने के लिए कोई रास्ता नहीं ढूंढ पा रहा हूं।एपडिलेगेट से दूसरे वर्ग में स्विफ्ट पासिंग डेटा
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
}
यह मेरा वैश्विक कक्षा है:
यह AppDelegate में कोड है
public class Globals {
var deviceToken = String()
init() {
//nothing
}
func setDeviceToken(s:String){
deviceToken = s
}
func getDeviceToken() -> String {
return deviceToken
}
}
अगर मैं इस परियोजना के अन्य फ़ाइलों से, मूल्य मुद्रित करने के लिए प्रयास करते हैं, मैं कर रहा हूँ कुछ भी पाने में सक्षम नहीं, बस एक खाली स्ट्रिंग।
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
*** अद्यतन: जो लोग मतदान मेरे सवाल करने के लिए: आपको बहुत बहुत धन्यवाद। क्षमा करें अगर मैं स्विफ्ट (अभी तक) का विशेषज्ञ नहीं हूं और खेद है कि अगर मैं कुछ पूछने के लिए स्टैक ओवरफ्लो का उपयोग कर रहा हूं तो मुझे नहीं पता!
let delegate = UIApplication.sharedApplication().delegate as AppDelegate
let deviceToken = delegate.deviceToken
एकमात्र में देखो:
ऐप प्रतिनिधि में कितना डेटा होना चाहिए? कोई नहीं! कभी! ऐसा मत करो ऐसा नहीं है कि ऐप प्रतिनिधि क्या है। – Fogmeister
परेशान होने की कोई आवश्यकता नहीं है, मैं सिर्फ एक नौसिखिया हूं और मैं सीखने की कोशिश कर रहा हूं। @Fogmeister – MeV