मैं अपने स्विफ्ट आईओएस ऐप में socket.io
लागू कर रहा हूं।स्विफ्ट 3.0 और एनएसएनोटिफिकेशन सेंटर में स्विफ्ट 2.0 में नोटिफिकेशन सेंटर का उपयोग करके डेटा कैसे पास करें?
वर्तमान में कई पैनलों पर मैं सर्वर सुन रहा हूं और आने वाले संदेशों की प्रतीक्षा कर रहा हूं। मैं प्रत्येक पैनल में getChatMessage
कार्यप्रणाली को कॉल करके इसलिए कर रहा हूँ:
func getChatMessage(){
SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in
dispatch_async(dispatch_get_main_queue(), {() -> Void in
//do sth depending on which panel user is
})
}
}
हालांकि मैंने देखा कि यह एक गलत तरीका है और मैं इसे बदलने की जरूरत है - अब मैं केवल एक बार भेजे गए संदेशों के लिए सुन शुरू करना चाहते हैं और किसी भी संदेश आता है - इस संदेश को किसी भी पैनल को पास करता है जो इसे सुनता है।
इसलिए मैं आने वाले संदेश को NSNotificationCenter के माध्यम से पास करना चाहता हूं। अब तक मैं कुछ जानकारी प्राप्त करने में सक्षम था, लेकिन डेटा को पास नहीं किया। मैं क्या कर रहा था कि द्वारा:
func showSpinningWheel(notification: NSNotification) {
}
और किसी भी समय मैं यह कॉल करने के लिए मैं क्या कर रहा था चाहता था:
NSNotificationCenter.defaultCenter().postNotificationName(hideSpinner, object: self)
तो मैं कैसे कर सकते
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil)
तो मैं एक समारोह में कहा जाता था ऑब्जेक्ट messageInfo
पास करें और इसे उस फ़ंक्शन में शामिल करें जिसे कॉल किया जाता है?
उपयोग विधि ... 'NSNotificationCenter.defaultCenter() postNotificationName (" hideSpinner ", वस्तु: शून्य, userInfo: yourvalue)।' –
एचएम ठीक है, और कैसे मैं इस 'yourValue' समारोह में लाने के कर सकते हैं कि उस अधिसूचना पर कॉल किया जाता है ('showSpinningWheel' में)? – user3766930
'.userinfo' का उपयोग 'अधिसूचना.userinfo' –