2009-03-24 17 views
5

में टैब बार नियंत्रक का उपयोग करके व्यू आउटलेट कैसे सेट करें मैंने एक्सकोड में एक साधारण टैब बार एप्लिकेशन बनाया है।आईफोन एसडीके

डिफ़ॉल्ट टैब बार में 2 टैब बार आइटम हैं। मैं एक तिहाई टैब बार आइटम जोड़ता हूं और इसके दृश्य नियंत्रक विशेषता को एक दृश्य में सेट करता हूं जिसे मैंने बनाया था और बाद में सहेजा गया था जिसे थर्डव्यू.एक्सिब कहा जाता है।

जब मैं दौड़ने का प्रयास करता हूं, तो पहले दो डिफ़ॉल्ट टैब ठीक काम करते हैं। तीसरा मैं जोड़ा इस त्रुटि फेंकता है:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "ThirdView" nib but 
the view outlet was not set.' 

मैं माफी माँगता हूँ के रूप में मैं एक बहुत बड़ा iPhone-एसडीके n00b हूँ, लेकिन क्लिक करके और खींच और नियंत्रण क्लिक खींचने का कोई ढंग मुझ पर दृश्य आउटलेट स्थापित करने के लिए अनुमति दे रहा है तीसरा दृश्य मैंने बनाया था।

उत्तर

2

मुझे 10 मिनट पहले इसी तरह की समस्या थी, यह सहेजी गई xib फ़ाइल थी :)। कुछ कारणों से एक्सकोड एक हिट रन करते समय xib फ़ाइलों को सहेजने के लिए नहीं कहता है।

लेकिन यदि ऐसा नहीं है, तो मैं जांच कर दूंगा कि दृश्य वास्तव में xib फ़ाइल में कनेक्ट है या नहीं।

सादा पाठ फ़ाइल के रूप में तीसरे दृश्य को देखने के लिए (दाईं ओर> सादा पाठ फ़ाइल के रूप में खोलें) और टेक्स्ट की खोज करें: "> < देखें"।

<object class="IBConnectionRecord"> 
    <object class="IBCocoaTouchOutletConnection" key="connection"> 
     <string key="label">view</string> 
     <reference key="source" ref="372490531"/> 
     <reference key="destination" ref="191373211"/> 
    </object> 
    <int key="connectionID">15</int> 
</object> 

आप इसे नहीं मिलती है तो इसका मतलब यह हो सकता है कि समस्या इंटरफ़ेस बिल्डर में एक बग के कारण होता है: देखने जुड़ा है, तो आप नीचे दिए गए कोड को कुछ इसी तरह खोजना चाहिए। फिर आप हाथ से कनेक्शन जोड़ने की कोशिश कर सकते हैं। अगर यह मामला है तो मुझे बताएं।

1

उस फ़ाइल नाम की जांच करें जिसे आप initFromNib (या फिर आप नियंत्रक लोड कर रहे हैं) में जा रहे हैं। इस टाइप में एक टाइपो या एक्सटेंशन समेत परिणाम हो सकता है।

0

एक्सकोड 4 का उपयोग करके, मुझे यह त्रुटि मिली क्योंकि मैंने टैब बार नियंत्रक पर "तीसरे" बटन के लिए एनआईबी नाम सेट नहीं किया था। मैंने इसे "तीसरा" बटन चुनकर, बटन के भीतर टैब बार आइटम नहीं चुना, और विशेषता निरीक्षक का उपयोग करके मैंने एनआईबी नाम सेट किया।