2012-04-25 10 views
19

स्टोरीबोर्ड को सहेजते समय और गिट में परिवर्तन करने पर, संभावनाएं अच्छी होती हैं कि पूरे <classes> सेक्शन को हटाया जाएगा या स्रोत नियंत्रण (गिट) में जोड़ा जाएगा। मैं कमांड लाइन पर गिट का उपयोग कर रहा हूं, एक्सकोड एकीकृत यूआई नहीं।गिट क्यों स्टोरीबोर्ड <classes> अनुभाग बार-बार जोड़ता है और हटाता है?

पहले यह इस तरह दिखता है:

- <classes> 
-  <class className="CPTGraphHostingView" superclassName="UIView"> 
-   <source key="sourceIdentifier" type="project" relativePath="./Classes/CPTGraphHostingView.h"/> 
-  </class> 
... 
- </classes> 

क्यों, और, अधिक महत्वपूर्ण है कि: कैसे मुझे लगता है कि बंद कर सकते हैं

+ <classes> 
+  <class className="CPTGraphHostingView" superclassName="UIView"> 
+   <source key="sourceIdentifier" type="project" relativePath="./Classes/CPTGraphHostingView.h"/> 
+  </class> 
... 
+ </classes> 

और अगले में यह है कि तरह लग रहा है के लिए प्रतिबद्ध ?

+0

क्या यह वास्तव में जोड़ा और हटाया गया है, या प्रत्येक प्रतिबद्धता में स्थानांतरित किया गया है (यानी प्रत्येक प्रतिबद्धता में जोड़ा और हटाया गया दोनों दिखाई देता है)? क्योंकि बाद में अधिक संभावना लगता है। –

+0

क्या एक ही कंप्यूटर पर काम किया जाता है? और यदि नहीं, तो क्या वे स्टोरीबोर्ड के बिल्कुल उसी संस्करण द्वारा किए गए हैं? –

+0

@JanHudec एक प्रतिबद्ध में जोड़ा गया और दूसरे में हटा दिया गया। मैं कोड के ब्लॉक को स्थानांतरित करने में समझ सकता हूं लेकिन यह अलग-अलग कामों में होता है। हम 3 डिलीवरीर्स हैं और आपके द्वारा वर्णित दो पहलुओं को देखेंगे। – ericteubert

उत्तर

10

  1. (यह जवाब व्यक्तिगत अनुभव आधारित है, और एक औपचारिक एक नहीं है)

    classes.storyboard xml फ़ाइल सूचियों में अनुभाग आप क्रम में अपनी परियोजना में सभी दृश्य नियंत्रकों इंटरफ़ेस बिल्डर में यूआई तत्व का चयन करते समय सहायक संपादक को सही स्रोत फ़ाइल दिखाएं, और

  2. कस्टम क्लास के लिए विकल्प प्रस्तुत करने के लिए पहचान निरीक्षक (दाएं पैनल) को अनुमति दें।

मुझे लगता है कि यह खंड एक कैश है, जब से ऊपर सूचीबद्ध दो दोनों उपयोगों का उपयोग थोड़ी देर के लिए नहीं किया गया है।

तथ्य यह है कि यह खंड पहली जगह में बदल गया है, इसका अर्थ यह है कि इसे अनदेखा करना सुरक्षित है, क्योंकि यह आवश्यकता पर स्वतः उत्पन्न होता है। यदि आपने पहले से ही यह किया है, और बाद में इसे diff पर हटा दिया गया है, पहचान निरीक्षक खोलें, कस्टम क्लास के तहत उपलब्ध कक्षाओं की सूची ड्रॉप-डाउन करें, और देखें कि संपूर्ण अनुभाग एक बार फिर कैसे मौजूद है।

+1

पर पूछा गया था यह एक बहुत अच्छी व्याख्या है। लेकिन फिर भी, क्या इससे बचने का कोई तरीका है? Xcode को स्टोरीबोर्ड पर उस अनुभाग को रखने के लिए हमेशा के लिए Xcode को यह कहने का कोई तरीका है कि जब एक्सकोड ऐसा लगता है, और इसे स्टोरीबोर्ड खोलते समय इसे फिर से जोड़ना है? यह काम करता है और इसके परेशानियों के साथ गड़बड़ करता है। –

1

मेरे अनुभव में केवल तभी होता है जब आप स्टोरीबोर्ड खोलें और कक्षा अस्तित्व से संबंधित त्रुटियां हों। इसका एक उदाहरण स्टोरीबोर्ड खोल रहा है जबकि विलय संघर्ष अभी तक हल नहीं हुआ है। एक या अधिक कक्षाएं पार्स-सक्षम नहीं हो सकती हैं। इस मामले में इंटरफेस बिल्डर पूरे खंड को हटा रहा है और न केवल अपमानजनक वर्ग।

मेरे लिए इसे हटाने के मामले में पैच तैयार होने के बाद फिर से स्टोरीबोर्ड खोलकर आसानी से तय किया जाता है। यदि सभी समस्याओं का समाधान हो जाता है, तो अनुभाग पुन: उत्पन्न होता है। यदि ऐसा नहीं है, तो इसका मतलब है कि मुझे परियोजना सेटिंग्स में कोई समस्या है और मुझे वैसे भी नहीं करना चाहिए।

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