2015-02-18 9 views
26

तो मैं इस तरह एक prepareForSegue विधि है:DestinationViewController Segue और UINavigationController तेज

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "fromEventTableToAddEvent" { 

     let addEventViewController: AddEventViewController = segue.destinationViewController as! AddEventViewController 

     addEventViewController.newTagArray = newTagArray 

    } 
} 

हालांकि, कार्यावधि में ऐप्लिकेशन क्रैश और लॉग बाहर इस संदेश को थूक:

प्रकार के मूल्य डाली नहीं किया जा सका 'UINavigationController'

त्रुटि आती है क्योंकि addEventController नेविगेशन नियंत्रक में एम्बेडेड है, हालांकि मुझे यकीन नहीं है मैं कैसे segue ताकि destinationViewController navigationController पर सेट है सेट अप करना होगा, लेकिन यह भी मुझे addEventController

तो कैसे मैं इस स्विफ्ट का उपयोग कर करना होगा करने के लिए prepareForSegue विधि में चर पारित करने के लिए अनुमति देते हैं?

मैं आपकी सहायता और समय की बहुत सराहना करता हूं जो आप प्रतिक्रिया में दे सकते हैं। यह

उत्तर

97

आपको केवल नेविगेशन नियंत्रक के शीर्ष दृश्य नियंत्रक तक पहुंचने की आवश्यकता है, जो AddEventViewController होगा। मैं एक ही मुद्दा था और आप इसे हल

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "fromEventTableToAddEvent" { 

     let nav = segue.destinationViewController as! UINavigationController 
     let addEventViewController = nav.topViewController as! AddEventViewController 

     addEventViewController.newTagArray = newTagArray 

    } 
} 
+1

धन्यवाद @Rdelmar,: यहाँ कोड है। – mvasco

+1

धन्यवाद! सरल, आसान। –

+0

स्विफ्ट 3 के लिए कोई अपडेट? – reggie

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