2012-04-28 9 views
36

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

हम समूह क्यों चाहते हैं, लेकिन वास्तविक फ़ोल्डर नहीं? क्या फ़ोल्डर के उपयोग पर समूह का लाभ है?

+0

आप दोनों कर सकते हैं। –

+2

कम से कम जब मैं प्रोजेक्ट के फ़ोल्डर पर राइट क्लिक करता हूं, तो "नया समूह" के लिए एक विकल्प होता है लेकिन "नया फ़ोल्डर" –

उत्तर

31

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

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

यदि आप किसी समूह को किसी फ़ोल्डर से लिंक करना चाहते हैं, तो प्रोजेक्ट फ़ाइल पेड़ में समूह पर क्लिक करें और कमांड + विकल्प + 1 दबाएं। ड्रॉप डाउन के नीचे जो "पथ: सापेक्ष टू ग्रुप" जैसे कुछ कहेंगे, वहां "ग्रे" शब्द के बगल में एक ग्रे सीमा के साथ एक छोटा सा सफेद वर्ग है। इस पर क्लिक करके और फिर फ़ोल्डर को चुनने/बनाने से समूह को फ़ोल्डर में बांध दिया जाएगा।

folder reference

इसके अलावा, जब आप Xcode में एक फ़ोल्डर खींचें, यह आप अगर आप इसे एक समूह या किसी फ़ोल्डर संदर्भ होना चाहते हैं पूछना होगा:

adding a folder reference

+3

है लेकिन "समूह को फ़ोल्डर में बांधें" जैसा कि "फ़ोल्डर संदर्भ बनाएं" जैसा नहीं है। उत्तरार्द्ध विशेष है: यह * फ़ोल्डर * को बिल्ड ऐप में कॉपी करता है। – matt

+2

हालांकि यह एक दर्द है जब आप खोजक/svn में कक्षा की तलाश करना चाहते हैं और निर्देशिका संरचना पूरी तरह अलग है – htafoya

+2

@htafoya मैं निश्चित रूप से सहमत हूं। दूसरी तरफ, यदि आप फ़ोल्डर के बजाय समूहों का उपयोग करके फ़ाइलों का एक समूह पुनर्गठन कर रहे हैं, तो आपके वास्तविक स्रोत कोड में विवादों को मर्ज करने के लिए कम अवसर है क्योंकि फाइलें स्वयं नहीं चलती हैं। विचार करने के लिए बिल्कुल महत्वपूर्ण व्यापारिक हैं। –

48

यह मेरा पालतू जानवर है।

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

काम करने का बहुत साफ तरीका और बड़ी परियोजनाओं में फ़ाइलों का पता लगाने में मदद करता है। गिट क्लीनर भी रखता है। Xcode 9 के लिए

अद्यतन:

एक बार जब आप अब डिस्क से मिलान करने पर सही ढंग से फ़ाइल चले जाएँगे Xcode में समूहों डिस्क पर निर्देशिका संरचना से मेल खाते, Xcode में एक से दूसरे समूह से एक फ़ाइल ले जाने की है।

+1

+1 नहीं, अच्छा विचार! – DGund

+18

मुझे आश्चर्य है कि क्यों एक्सकोड समूह के बजाय फ़ोल्डर का उपयोग करने के रूप में शुरू नहीं होता है? –

+1

हाँ, यह गिट क्लीनर रखता है :) – Malloc

8

एक कमान नहीं है रेखा उपकरण - "synx" जिथब में उपलब्ध है जो आपको वही करता है जो आपको चाहिए।

यह प्रोजेक्ट में एक्सकोड समूहों से मेल खाने के लिए खोजक में एक्सकोड प्रोजेक्ट फ़ोल्डर को पुनर्गठित करता है।

आप इसे यहाँ पा सकते हैं: https://github.com/venmo/synx

+1

पर व्यवस्थित नहीं कर सकता, तो चालाक या किसी भी तरह से इष्टतम के रूप में खुद को पेंट करना मुश्किल है, तो यह xcode समूहों को फ़ोल्डर सिस्टम में परिवर्तित करने का सबसे अच्छा ** तरीका है –

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