# प्रपंच का क्या महत्व है? हमें #pragma मार्क्स की आवश्यकता क्यों है?


279

#pragmaXcode में अंकों का उद्देश्य क्या है ? क्या .mफाइलों में उनका स्थान मायने रखता है? क्या कुछ #pragmaअन्य सभी से पहले आना चाहिए ?

  • क्या उन्हें उपस्थित होना होगा?
  • क्या नए अंक जोड़े जा सकते हैं? वे क्यों होंगे? इसका क्या कारण होता है?
  • क्या कोई निशान हटाए जाने में कोई नुकसान है? क्या कोई कभी करना चाहेगा?

5
लिंक की जाँच करें: cocoasamurai.blogspot.com/2006/09/…
rptwsthi

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

2
तेज भाषा के लिए #Pragma चिह्न काम नहीं करेगा। उपयोग #MARK या #FIXME या #todo अधिक जानकारी के लिए इस लिंक की जाँच stackoverflow.com/a/33040068/1753005
जयप्रकाश दुबे

जवाबों:


315

#pragma markनिर्देशों में एक्सकोड में निर्देश सीधे तरीकों तक पहुंच के लिए दिखाए जाते हैं। कार्यक्रम पर उनका कोई प्रभाव नहीं है।

उदाहरण के लिए, Xcode 4 के साथ इसका उपयोग करने से वे आइटम सीधे जंप बार में दिखाई देंगे।

एक विशेष है pragma mark -जो एक रेखा बनाता है।

यहां छवि विवरण दर्ज करें


उत्तर की सराहना करें - क्या आप एक अपडेटेड उत्तर पोस्ट करने में सक्षम होंगे जो यह दिखाएगा कि नए XCode में (उस मेनू में या अब वे जहां भी हैं) कैसा दिख रहा है?
user7804781

क्या एक पायथन समतुल्य है?
एडवर्ड फाल्क

@EdwardFalk यह आईडीई विशिष्ट है, इसलिए यह वास्तव में आपके आईडीई / टेक्स्ट एडिटर पर निर्भर करता है
माइकल ओज़ेरान्सकी

मेरे GCC कंपाइलर ने चेतावनी दी, foo.h: 52: 0: चेतावनी: #pragma मार्क [-Wunknown-pragmas] #pragma मार्क - की अनदेखी करना, जो घातक नहीं है। तो जीसीसी शायद '-' के बारे में नहीं जानता है।
केमिन झोउ

55

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

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

#pragma markXCode के लिए सुविधा है लेकिन इसका आपके कोड पर कोई प्रभाव नहीं है। यह केवल कोडिंग करते समय तरीकों को खोजने में आसान बनाने में मदद करता है।


21

सरल शब्द में हम कह सकते हैं कि #pragma mark -तरीकों को वर्गीकृत करने के लिए उपयोग किया जाता है, ताकि आप अपने तरीकों को आसानी से पा सकें। यह लंबी परियोजनाओं के लिए बहुत उपयोगी है।


13

बस मैं जो जानकारी ढूंढ रहा था उसे जोड़ने के लिए: pragma markXcode विशिष्ट है, इसलिए यदि आप C ++ प्रोजेक्ट के साथ सौदा करते हैं जिसे आप विभिन्न IDE में खोलते हैं, तो इसका वहां कोई प्रभाव नहीं पड़ता है। Qt Creator में, उदाहरण के लिए, यह विधियों के लिए श्रेणियां नहीं जोड़ता है, और न ही कोई चेतावनी / त्रुटियां उत्पन्न करता है।

संपादित करें

#pragmaएक प्रीप्रोसेसर निर्देश है जो C प्रोग्रामिंग भाषा से आता है। इसका उद्देश्य संकलक को कार्यान्वयन-निर्भर जानकारी निर्दिष्ट करना है - अर्थात, प्रत्येक संकलक इस निर्देश की व्याख्या करना चुन सकता है जैसा वह चाहता है। यह कहा गया है, बल्कि इसे एक विस्तार माना जाता है जो कोड को स्वयं परिवर्तित / प्रभावित नहीं करता है। इसलिए कंपाइलर इसे अनदेखा कर सकते हैं।

Xcode एक IDE है जो इसका लाभ उठाता है #pragmaऔर इसे अपने विशिष्ट तरीके से उपयोग करता है। मुद्दा यह है, #pragmaएक्सकोड और यहां तक ​​कि उद्देश्य-सी विशिष्ट नहीं है।


11

जब हमारे पास एक बड़ा / लंबा वर्ग होता है, तो कोड की 100 से अधिक पंक्तियों को हम मॉनिटर स्क्रीन पर सब कुछ नहीं देख सकते हैं, इसलिए हम अपनी कक्षा का अवलोकन (जिसे दस्तावेज़ आइटम भी कहा जाता है) नहीं देख सकते हैं। कभी-कभी हम अपनी कक्षा का अवलोकन देखना चाहते हैं; एक नज़र में इसके सभी तरीके, स्थिरांक, गुण आदि। अपनी कक्षा का अवलोकन देखने के लिए आप XCode में Ctrl + 6 दबा सकते हैं। आपको विंडो उर्फ ​​जंप बार का पॉप-अप मिलेगा।

डिफ़ॉल्ट रूप से, इस जंप बार में कोई बकेट / सेक्शन नहीं है। यह सिर्फ एक लंबी सूची है। (हालांकि हम जंप बार दिखाई देने पर टाइप करना शुरू कर सकते हैं और यह जंप बार आइटमों में से खोजेगा)। यहां की जरूरत हैpragma mark

अगर आप अपने जंप बार में सेक्शन बनाना चाहते हैं तो आप प्रासंगिक विवरण के साथ प्रैग्म मार्क्स का उपयोग कर सकते हैं। अब प्रश्न में संलग्न स्नैपशॉट देखें। वहाँ 'जीवन चक्र देखें' और 'समर्पित एक खंड ..' pragma marks द्वारा बनाए गए खंड हैं


10

इस बात की खोज करते हुए कि कंपाइलर के लिए प्रज्ञा निर्देश कैसे हैं, इस बारे में बताने के लिए , मुझे यह NSHipster लेख मिला, जो काम को बहुत अच्छा करता है।

मुझे आशा है कि आप पढ़ने का आनंद लेंगे


7
#pragma mark - NSSecureCoding

"प्राग्मा" का मुख्य उद्देश्य डेवलपर संदर्भ के लिए है।यहां छवि विवरण दर्ज करें

आप बड़ी संख्या में कोडिंग लाइनों की एक विधि / फ़ंक्शन आसानी से पा सकते हैं।

Xcode 11+:

शीर्ष में मार्कर लाइन

// MARK: - Properties

ऊपर और नीचे में मार्कर लाइन

// MARK: - Properties - 

नीचे में केवल मार्कर लाइन

// MARK: Properties -

तो मैं लाइन को हटा सकता हूं? मेरे मस्तिष्क के लिए अंतरिक्ष की बर्बादी।

1
# प्राग्मा-मार्क अभ्यस्त हटाने से आपके कोड की कोई कार्यक्षमता प्रभावित होती है, लेकिन आपका कोड अपनी पठनीयता खो सकता है। यदि आप वास्तव में नहीं चाहते हैं, तो आप इसे हटा सकते हैं।
जेबा मूसा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.