मैं एक ऐप कर रहा हूं जो एक पुश नोटिफिकेशन से डिटेल व्यू खोलता है। मेरे AppDelegate में मैं दृश्य खोल रहा हूं, लेकिन दृश्य में नेविगेशन नियंत्रक नहीं है।
तब मुझे लगता है कि मेरा समाधान विधि का उपयोग है instantiateViewControllerWithIdentifier
नेविगेशन नियंत्रक को संभालने के लिए, मुझे यकीन नहीं है कि यह समाधान है, लेकिन यहां शीर्षक का सवाल है ...
मेरी कक्षा SlideNavigationController
उद्देश्य-सी है, और जब मैं विधि का उपयोग करता हूं
let rootVC = UIStoryboard(name: "Main", bundle: nil).
instantiateViewControllerWithIdentifier("SlideNavigationController") as! SlideNavigationController
मुझे त्रुटि मिलती है:
चेतावनी: किसी भी उद्देश्य-सी कक्षा की जानकारी लोड नहीं कर सका। इससे उपलब्ध प्रकार की जानकारी की गुणवत्ता में काफी कमी आएगी।
कोई उपाय? मेरी अंग्रेजी के लिए क्षमा करें, संपादन का स्वागत है! धन्यवाद
मेरे UIController के साथ समस्या हल हो गई है। यहाँ मेरा कोड है:
let rootViewController = self.window!.rootViewController as! UINavigationController
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let targerView = mainStoryboard.instantiateViewControllerWithIdentifier("view_place_detail") as! VCPlaceDetailTour
targerView.placeId = aps as String
rootViewController.pushViewController(targerView, animated: false)
उत्तर:
जवाब के लिए 2 № 1आप इस कोड के साथ कर सकते हैं।
let rootViewController = self.window!.rootViewController as! UINavigationController
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let targerView = mainStoryboard.instantiateViewControllerWithIdentifier("view Identifier") as! PromotionDetailsVC
rootViewController.pushViewController(targerView, animated: false)
उम्मीद है इससे आपको मदद मिलेगी।
उत्तर № 2 के लिए 1
आप प्रोग्रामेटिक रूप से एक नेविगेशन बना सकते हैंनियंत्रक और वांछित दृश्य नियंत्रक को अपने रूटव्यू के रूप में सेट करें।
उदाहरण:
let rootVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("SlideNavigationController") as! SlideNavigationController
let window = UIApplication.sharedApplication().keyWindow
window.rootViewController = rootVC
इस लिंक में भी समान है: एप्लाइड में प्रारंभिक व्यू-कंट्रौलर सेट करें - स्विफ्ट
उत्तर № 3 के लिए 1
स्विफ्ट प्रोजेक्ट में ऑब्जेक्टिव c कंट्रोलर्स का उपयोग करने के लिए आपको एक ब्रिजिंग हेडर बनाना होगा।
ब्रिजिंग हेडर बनाने की जानकारी के लिए नीचे दिए गए लिंक का पालन करें।
Bridging-Header.h का मार्ग कैसे खोजें - Swift, Xcode
उसके बाद आपको ब्रिजिंग हेडर फ़ाइल में नियंत्रकों की .h फ़ाइलों को आयात करना होगा।
अब आप आसानी से स्विफ्ट प्रोजेक्ट में अपने उद्देश्य सी व्यू कंट्रोलर का उपयोग कर सकते हैं