2011-05-07 16 views
6

XCode4 में un-fubar इंटरफ़ेस-बिल्डर की सहायता करने के लिए एक प्रोजेक्ट को कैसे ठीक करें।इंटरफ़ेस-बिल्डर fubar'd

मैंने इंटरफ़ेस-बिल्डर में एक बटन बनाया और दृश्य के कोड में इसके लिए एक आईबीएक्शन विधि परिभाषित की। यह ठीक चला गया। फिर मैंने एक्सकोड के रिफैक्टर/नाम बदलें टूल का उपयोग करके बटन की एक्शन विधि का नाम बदल दिया। यह ठीक चला गया।

फिर मैंने बटन का चयन करके और हटाए गए कुंजी को मारकर इंटरफ़ेस-बिल्डर में बटन हटा दिया। जब मैंने प्रोजेक्ट का पुनर्निर्माण किया तो बटन सिम्युलेटर में अभी भी है। इंटरफ़ेस-बिल्डर में वापस, बटन चला गया है। कोड में बटन का कोई संदर्भ नहीं है, लेकिन बटन की आईबीएक्शन विधि अभी भी वहां है।

मामलों को और भी खराब बनाने के लिए, बटन की मूल क्रिया विधि को कॉल किया जा रहा है जिसे निश्चित रूप से चयनकर्ता के रनटाइम अपवाद को नहीं फेंक दिया जाता है। जब मैं मूल क्रिया विधि के नाम के लिए प्रोजेक्ट खोज करता हूं तो कुछ भी नहीं मिलता है, लेकिन रनटाइम अभी भी इसे कॉल करने का प्रयास कर रहा है। मैंने एक "साफ" और पुनर्निर्माण किया लेकिन कोई खुशी नहीं।

यदि मैं .xib फ़ाइल को ASCII संपत्ति सूची के रूप में खोलने का प्रयास करता हूं, तो यह मुझे बताता है कि डेटा दूषित हो गया है। (मुझे लगता है कि बाहर।)

.xib फ़ाइल को हटाने और नया दृश्य बनाने के अलावा, क्या इसे ठीक करने का कोई तरीका है?

और यदि यह बाइनरी को हटा नहीं देता है तो "साफ" क्या करता है?

आपकी मदद के लिए धन्यवाद! > सामग्री और सेटिंग रीसेट करें -

+0

यदि आप किसी टेक्स्ट एडिटर में .xib खोलते हैं, तो क्या आप कुछ अजीब देखते हैं? –

+0

@ जोन रीड - टेक्स्ट संपादक में .xib ठीक दिखता है। ऐसा लगता है कि xib के xml प्रतिनिधित्व में ऑब्जेक्ट्स इंटरफ़ेस बिल्डर में आलेखीय प्रतिनिधित्व में ऑब्जेक्ट्स के समान थे। किसी भी तरह, एक्सकोड कहीं किसी स्टेल संदर्भ पर लटक रहा है। – LandedGently

+0

इसे पुन: उत्पन्न करने का प्रयास करने के बाद, मेरा मानना ​​है कि यह मेरी .xib फ़ाइल का नाम बदलने के कारण हुआ था (जिसे मैंने मूल प्रश्न पोस्ट करने के लिए उल्लेख किया था, माफ करना।) मैंने अपनी कुछ वस्तुओं का नाम बदलने के लिए एक्सकोड "रिफैक्टर" टूल का उपयोग किया था, लेकिन मुझे नहीं लगता कि रिफैक्टर का उपयोग करके xib फ़ाइल का नाम बदलने का तरीका, इसलिए मैंने इसे अभी नाम प्रोजेक्ट नेविगेटर में बदल दिया। शायद एक अच्छा विचार नहीं है। – LandedGently

उत्तर

0

Xcode में जा रहा बनाने के> स्वच्छ सभी लक्ष्यों का प्रयास करें, यह इसके

+0

हाँ, मैंने कोई प्रभाव नहीं साफ करने की कोशिश की। (बीटीडब्ल्यू, एक्सकोड 4 में, कोई बिल्ड मेनू नहीं है। उत्पाद मेनू के तहत साफ है, और कोई साफ नहीं है। मुझे लगता है कि यह सभी को साफ़ करने के लिए डिफ़ॉल्ट है।) – LandedGently

1

कोशिश आईओएस सिम्युलेटर ठीक करना चाहिए। (समय बचाने के लिए, एक्सकोड लॉन्च से पहले संसाधनों की प्रतिलिपि बनाने की कोशिश करता है, अगर वे संसाधन बदल गए हैं, लेकिन यदि चीजें खराब हो गई हैं ...)

+0

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

+0

यह बहुत पुराना है लेकिन अभी भी ऐसा लगता है। बस एक एक्सआईबी था जो मैंने कुछ भी नहीं बदला (बटन जोड़ना, लक्ष्य निर्धारित करना, ग्रंथ ...)। सिम्युलेटर से ऐप को हटाने में मदद मिली। – Swissdude

1

स्वच्छ मेरे लिए काम नहीं किया। मेरे अनुभव में, एक्सकोड टाइमस्टैम्प के संबंध में "संकलित .xib" का कैश रखता है (एक ही नाम के साथ एक xib को स्विच करने का प्रयास करें)। मेरा फिक्स रीफ्रेश होने के लिए आवश्यक प्रत्येक दृश्य को संशोधित करना था। बहुत निराशाजनक, लेकिन यह काम करता है।