2009-07-29 18 views
12

मैं इस रैकिंग प्रोजेक्ट के साथ अपनी रस्सी के अंत में हूं !!!!!!!आईफोन एसडीके टैबबार देखें आउटलेट सेट नहीं किया गया था

मेरे पास एक UIViewController क्लास है जो एक निब से जुड़ा हुआ है जिसमें 2 टैब के साथ एक टैबबार नियंत्रक है। दोनों टैब nib फ़ाइलों को लोड करते हैं। जब मैं संकलित करता हूं तो मुझे एक त्रुटि मिलती है:

-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "MainViewController" nib but the view outlet was not set

यहां क्या हो रहा है? मेनव्यू कंट्रोलर विचारों को एनआईबी फाइलों द्वारा पॉप्युलेट किया जा रहा है (और उन फाइलों के विचार सही तरीके से जुड़े हुए हैं) .MainViewController की फाइल के मालिक के पास पैरामीटर "व्यू" है, लेकिन इसे अनदेखा नहीं किया जाना चाहिए क्योंकि मैं एक दृश्य से दोनों दृश्य लोड कर रहा हूं? किसी भी सहायता की सराहना की जाएगी!

उत्तर

0

आपको प्रत्येक बाहरी निब से मुख्य xib पर दृश्य जोड़ने की आवश्यकता है और फिर व्यू आउटलेट को सही दृश्य से कनेक्ट करना होगा। उदाहरण के लिए, यदि आपके पास MainMenu.xib में टैब बार और ViewOne.xib नामक बाहरी xib है, तो उनमें से दोनों को खोलें, ViewOne.xib विंडो से MainMenu.xib विंडो में कस्टम व्यू (या जिसे भी कहा जाता है) खींचें। फिर उस दृश्य के लिए कस्टम व्यू पर टैब के व्यू आउटलेट को कनेक्ट करें। एक बार जब आप इसे MainMenu.xib पर कॉपी करते हैं तो आपको कस्टम व्यू का नाम बदलना चाहिए ताकि यह अन्य विचारों से अलग हो सके जो आपको MainMenu.xib में जोड़ना होगा।

+0

क्या यह सिर्फ 1 एनआईबी फ़ाइल में विचारों का एक गुच्छा पर प्रतिलिपि नहीं है? मैं प्रत्येक फाइल को अलग रखना चाहता था, प्रत्येक टैब पर इसकी नींद होगी। क्या यह संभव नहीं है? –

+0

मैंने ऐसा किया और मुझे एक ही त्रुटि मिल गई! ऐसा लगता है कि यह इस तथ्य को पसंद नहीं करता है कि फाइल मालिकों के विचार किसी भी चीज़ से जुड़े नहीं हैं –

+0

मुझे लगता है कि केवल मेनमेनू.एक्सिब में संदर्भ डालता है, इसलिए यदि आप अन्य फाइलें अपडेट करते हैं तो यह आपके एप्लिकेशन में विचार अपडेट करेगा। – Amok

2

अंक # 1 - निब लेकिन दृश्य आउटलेट सेट नहीं किया गया था। 1. मेरा MainMenu.xib जिसमें टैबबार नियंत्रक था, यह फ़ाइल का मालिक किसी प्रकार के दृश्य से जुड़ा होना चाहिए। तो एक दृश्य वस्तु डालने और इसे जोड़ने से जुड़ा हुआ है। मैं नाराज हो रहा था क्योंकि यह उस फाइल को दिखा रहा था, न कि टैबबार। # 2 हल करता है कि समस्या

समस्या # 2 - कोई टैबबार दिखाया नहीं जा रहा है 2. आईबीओटलेट UITabBarController बनाएं और फ़ाइलों के स्वामी से लिंक करें। और फिर viewdidload विधि में यह self.view = tbController.view; और अब आपकी टैबबार दिखाया जा रहा है कि उस रिक्त दृश्य फ़ाइल से आपने लिंक नहीं किया है!

36

मुझे एक ही त्रुटि थी ("xViewController" nib लोड किया गया था लेकिन दृश्य आउटलेट सेट नहीं किया गया था।) डीबगर में।

इंटरफ़ेस बिल्डर में, मैंने xViewController.xib खोला, व्यू आइकन पर राइट-क्लिक किया, फ़ाइल के स्वामी आइकन पर नए रेफरेंसिंग आउटलेट के बगल में सर्कल से खींचा गया, फिर, जब छोटे ग्रे मेनू दिखाई दिए, तो मैंने दृश्य पर क्लिक किया। (फिर सहेजें, पुनर्निर्माण, दौड़, आदि ...)

मैं क्या हो रहा है पर स्पष्ट नहीं हूं, लेकिन यह तय है।

मैं क्या समझ से, अगर किसी को भी अनुवर्ती करना चाहता है, देखें के आउटलेट (जो "दृश्य" नाम दिया गया है) सेट नहीं था, और फ़ाइल के मालिक आइकन के लिए खत्म न्यू संदर्भित आउटलेट को खींच कर, मैं सेट देखें की आउटलेट। महान।

+0

धन्यवाद! मैंने इसे मारा और आपके सुझाव ने मेरी समस्या हल कर दी। वास्तव में दृश्य आउटलेट को हल नहीं किया गया समस्या और कोई दृश्य जो पिकर दिखा रहा था लेकिन कोई लेबल या बटन नहीं था। – Refactor

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