2014-07-08 6 views
17

जब कोई उपयोगकर्ता UILocalNotification पर क्लिक करता है तो मैं ऐप प्रतिनिधि से एक विशिष्ट व्यू कंट्रोलर लोड करने का प्रयास कर रहा हूं। मैं पता लगा है कि यह इस समारोह में कहा जाता है:स्विफ्ट में एपडिलेगेट से व्यू कंट्रोलर का उदाहरण प्राप्त करें

func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) 

लेकिन जब मैं कोशिश करते हैं और खुले ViewControllers की पहुँच से एक मुझे लगता है कि यह शून्य लौटा रहा है क्योंकि मेरे आवेदन क्रैश हो रहा है। यहां मैं कोशिश कर रहा हूं:

var rootViewController = self.window!.rootViewController 
var storyBoard = rootViewController.storyboard 
var setViewController = storyBoard.instantiateViewControllerWithIdentifier("CurrentShows") as ViewController_CurrentShows 

rootViewController.navigationController.popToViewController(setViewController, animated: false) 
setViewController.reloadData() 

यह popToViewController लाइन पर क्रैश हो रहा है।

उत्तर

23

आप की कोशिश कर सकते:

let rootViewController = self.window!.rootViewController 
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let setViewController = mainStoryboard.instantiateViewControllerWithIdentifier("CurrentShows") as! DetailViewController 
rootViewController?.navigationController?.popToViewController(setViewController, animated: false) 
+0

मैं एक समारोह के अंदर इस का उपयोग कर की कोशिश की और यह काम नहीं किया, मैं xcode7 और swift2 उपयोग कर रहा हूँ। क्या आप ऊपर दिए गए कोड को अपडेट करना चाहते हैं। – suisied

+0

@suisied StackOverflow पर एक प्रश्न बनाने के लायक हो सकता है और इससे लिंक कर सकता है क्योंकि हम वास्तव में आपके कोड को देखे बिना आपकी समस्या का निदान नहीं कर सकते हैं। – fuzz

+0

तेजी से काम नहीं कर रहा है .. "मुख्य" स्टोरीबोर्ड प्राप्त करना असंभव है। –

संबंधित मुद्दे