स्विफ्ट में #pragma का निशान?


936

ऑब्जेक्टिव सी में, मैं #pragma markप्रतीक नेविगेटर में अपने कोड के वर्गों को चिह्नित करने के लिए उपयोग कर सकता हूं। चूंकि यह एक सी प्रीप्रोसेसर कमांड है, इसलिए यह स्विफ्ट में उपलब्ध नहीं है। क्या स्विफ्ट में इसके लिए कोई स्टैंड-इन है या मुझे बदसूरत टिप्पणियों का उपयोग करना है?


15
हमारे लंबे कोड को व्यवस्थित करने के लिए यह वास्तव में महत्वपूर्ण है।
iPatel

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

1
आप इसे एक देख सकते हैं: stackoverflow.com/a/33040068/1753005
जयप्रकाश दुबे

1
अन्य स्विफ्ट और Xcode newbies के लिए, मैं बस उल्लेख करूंगा कि "प्रतीक नेविगेटर" जिसके बारे में हर कोई बात कर रहा है, वह है जो आपको मिलता है जब आप संपादन विंडो के शीर्ष पर "जंप बार" में सबसे सही चीज पर क्लिक करते हैं। यह बाएं पैनल में प्रतीक नाविक नहीं है।
रेन्नीपेट

1
@ हर्षिलकोटेचा स्विफ्ट उस मंच से स्वतंत्र एक प्रोग्रामिंग भाषा है जो इस पर चलती है। प्राग्मा चिह्न स्विफ्ट का हिस्सा है और इसे लिनक्स, मैकओएस और आईओएस सहित अन्य ऐप्पल प्लेटफार्मों पर इस्तेमाल किया जा सकता है। इस प्रश्न को इनमें से किसी भी प्लेटफ़ॉर्म के साथ टैग करना हास्यास्पद होगा क्योंकि प्राग्मा चिह्न स्वयं स्विफ्ट की एक विशेषता है, न कि प्लेटफ़ॉर्म की। iOS उन कई प्लेटफार्मों में से एक है जहां स्विफ्ट चलती है। यह समझना जरूरी है। यह प्रश्न iOS के बारे में नहीं है, और लिनक्स या macOS के बारे में भी नहीं है। यह स्विफ्ट के बारे में है।
एरिक आया

जवाबों:


1202

आप उपयोग कर सकते हैं // MARK:


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


64
और हाँ, नया डेवलपर अनुबंध हमें इस सामान के बारे में बात करने देता है :)
फ्रैंक शमिट

4
आप प्रोटोकॉल का उपयोग करने के लिए एक्सटेंशन का उपयोग नहीं कर सकते हैं जिसमें एक init विधि है, जैसे NSCoding। यदि आप इसे सभी मामलों में उपयोग नहीं कर सकते हैं तो इसे अलग करना कठिन है।
मैथ्यू निप्पन

149
बीटा 4 के रूप में, Xcode 6 पहचानता है // MARK:, // TODO:और // FIXMEस्विफ्ट स्रोत में और उन्हें कूद बार में सूचीबद्ध करता है। (BTW, यह पहले से ही (Obj) C स्रोत में किया गया था - #pragma markएकमात्र तरीका नहीं है।) और हाँ, आप मेनू में विभाजकों को रखने के -लिए अभी भी जोड़ सकते हैं MARK
रिकस्टर

17
एक्सटेंशन की सिफारिश करने के लिए +1। यहां तक ​​कि MARKअब काम करने के साथ , कुछ प्रकार के शब्दार्थ संबंधी कोड (विशेष रूप से प्रोटोकॉल कार्यान्वयन) के लिए एक्सटेंशन का उपयोग करना अभी भी उपयोगी हो सकता है। IMHO यह बहुत बेहतर तरीके से कहता है कि प्रोटोकॉल को लागू करने की आपकी घोषणा सही तरीके से है जो इसे लागू करती है, न कि फ़ाइल के शीर्ष पर 5 प्रोटोकॉल घोषणाएं और 50 संबंधित विधि कार्यान्वयन बेतरतीब ढंग से नीचे कहीं बिखरे हुए हैं।
रिकस्टर

37
@StevenKramer: उसी तरह से #pragma mark// MARK: -बस एक विभाजक है, // MARK: - stuffआपको एक विभाजक और एक हेडर // MARK: - stuff -देता है , और आपको एक विभाजक, एक शीर्ष लेख और एक अन्य विभाजक को एक टिप्पणी पंक्ति में देता है।
रिकस्टर

174

Xcode 5 तक पूर्वप्रक्रमक निर्देश #pragma markमौजूद था।

Xcode 6 से, आपको उपयोग करना होगा // MARK:

ये प्रीप्रोसेसर फीचर्स सोर्स कोड एडिटर के फंक्शन ड्रॉप डाउन बॉक्स में कुछ स्ट्रक्चर लाने की अनुमति देते हैं।

कुछ उदाहरण :

// MARK:

-> एक क्षैतिज विभक्त द्वारा पहले किया जाएगा

// MARK: your text goes here

-> ड्रॉप डाउन सूची में बोल्ड में 'आपका पाठ यहां चला जाता है' डालता है

// MARK: - your text goes here

-> ड्रॉप डाउन लिस्ट में बोल्ड में 'आपका पाठ यहां जाता है', जो एक क्षैतिज विभक्त से पहले होता है

अद्यतन: जोड़ा स्क्रीनशॉट 'कारण कुछ लोगों को अभी भी इस के साथ समस्या है लगता है:

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


1
// MARK: - textमेरे लिए XCode 6.1.1 का उपयोग करने और ड्रॉप डाउन सूची में कोई विभाजक नहीं हैं : केवल पाठ के बजाय MARK: पाठ दिखाता है ।
सबसे अधिक

मेरे लिए ठीक काम करता है Xcode 6.1.1, मैंने अभी एक स्क्रीनशॉट जोड़ा है - कृपया अपने कोड के साथ जांचें?
रॉनी वेब्स

मैं यह उल्लेख करना भूल गया कि मैंने इसे Objective-C फ़ाइलों के लिए आज़माया था। हालांकि प्रयास के लिए मतदान, धन्यवाद।
सबसे अधिक

1
मैं देखता हूं, अब यह स्पष्ट है :-) प्रारंभिक प्रश्न स्विफ्ट के बारे में पूछता है तो मैंने ऐसा नहीं सोचा था। पूर्णता के लिए: ऑब्जेक्टिव-सी में आप इसका उपयोग करके भी ऐसा कर सकते हैं: #pragma mark - आपका मार्कर टेक्स्ट यहां जाता है , या #pragma मार्क - यदि आपको बार की जरूरत है, या #pragma मार्क आपका मार्कर टेक्स्ट समान पाने के लिए यहां जाता है। एक बार के बिना। (क्षमा करें, मैं कोड के टुकड़ों के लिए मार्कअप को सही नहीं कर सकता, मैंने उन्हें बोल्ड में रखा है)
रोनी वेब्स

यह Xcode 8.1 में थोड़ा बदल गया है, लेकिन यह नियम आम तौर पर काम कर रहे हैं, इस उत्तर को सबसे अच्छे से पसंद करें: D
windsound

167

उन लोगों के लिए जो एक्सटेंशन बनाम प्राग्मा मार्क्स (जैसा कि पहली टिप्पणी में उल्लेख किया गया है) का उपयोग करने में रुचि रखते हैं, यहां बताया गया है कि स्विफ्ट इंजीनियर से इसे कैसे लागू किया जाए:

import UIKit

class SwiftTableViewController: UITableViewController {

    init(coder aDecoder: NSCoder!) {
        super.init(coder: aDecoder)

    }

    override func viewDidLoad() {
        super.viewDidLoad()

    }
}

extension SwiftTableViewController {
    override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
        return 5
    }

    override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
        let cell = tableView?.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath) as UITableViewCell;

        cell.textLabel.text = "Hello World"

        return cell
    }

}

यह भी जरूरी नहीं है कि यह सबसे अच्छा अभ्यास है, लेकिन यदि आप चाहें तो यह है कि आप इसे कैसे करते हैं।


6
यह बहुत अच्छा है, लेकिन यह अच्छा होगा यदि एक्सटेंशन के नाम हो सकते हैं।
मैथ्यू निप्पेन

16
@ मैथ्यू - आप इस्तेमाल कर सकते हैं typealias। उदाहरण के लिए typealias DataSource = SwiftTableViewController। फिरextension Datasource {}
लोगन

1
@PhongLe UITableViewControllerएक प्रोटोकॉल नहीं है, यह एक वर्ग है। आप शायद मतलब है UITableViewControllerDataSource, लेकिन यह उदाहरण में इस्तेमाल पैटर्न नहीं है।
केपीएम

4
मैं सोच रहा हूं extensionकि प्रोटोकॉल के साथ हेडर क्यों नहीं मिला है, जैसे extension SwiftTableViewController : UITableViewController, यह देखने के लिए अधिक पठनीय होगा कि आपने उस एक्सटेंशन को क्लास में क्यों जोड़ा।
होलेक्स

7
ध्यान दें कि यदि आपका एक्सटेंशन प्रोटोकॉल कार्यान्वयन के रूप में कार्य करने के लिए पूरी तरह से मौजूद है, तो आप एक्सटेंशन का नाम दे सकते हैं : extension SwiftTableViewController : UITableViewDelegate { .. }औरextension SwiftTableViewController : UITableViewDatasource { .. }
क्रेग ओटिस

117

Pragma mark - [SOME TEXT HERE]उद्देश्य-सी में कई अलग-अलग फ़ंक्शन को एक साथ लाइन से अलग करने के लिए उपयोग किया गया था ।

में स्विफ्ट आप इस का उपयोग कर प्राप्त कर सकते हैंMARK, TODO OR FIXME

मैं। निशान : //MARK: viewDidLoad

यह viewDidLoad के तहत कार्य किए गए कार्यों के साथ एक क्षैतिज रेखा बनाएगा (स्क्रीनशॉट 1 में दिखाया गया है)

स्क्रीनशॉट 1

ii। करने के लिए : //TODO: - viewDidLoad

यह TODO के तहत समूह कार्य करेगा : - viewDidLoad श्रेणी (स्क्रीनशॉट 2 में दिखाया गया है)

स्क्रीनशॉट 2

iii। मुझे ठीक करो : //FIXME - viewDidLoad

यह FIXME के तहत समूह कार्य करेगा : - viewDidLoad श्रेणी (स्क्रीनशॉट 3 में दिखाया गया है)

स्क्रीनशॉट 3

विवरण के लिए इस ऐप्पल प्रलेखन की जाँच करें ।


ध्यान दें कि TODO और FIXME के ​​बाद "-" कुछ भी नहीं करता है। "-" केवल MARK निर्देश के लिए प्रासंगिक है।
rismay

1
यह कोड "मिनिमैप" में एक बड़े, बड़े आकार का अनुभाग शीर्षक बनाता है जिसे आप स्रोत फ़ाइल के दाईं ओर प्रदर्शित कर सकते हैं। बहुत आसान है।
ऑस्कर

65

आधिकारिक दस्तावेज

Apple के Xcode जंप बार के बारे में आधिकारिक दस्तावेज: जंप बार में कोड एनोटेशन जोड़ें

नमूना कोड के लिए बार स्क्रीनशॉट को जम्प करें

नमूना कोड

Xcode 10.1 और macOS 10.14.3 में व्यवहार (Mojave)

Xcode 10.1 और MacOS 10.14.3

Xcode 10.0 और व्यवहार 10.13.4 (उच्च सिएरा) में व्यवहार

Xcode 10.0 और macOS 10.13.4

Xcode 9.4.1 और मैकओएस 10.13.0 में व्यवहार

Xcode 9.4.1 और macOS 10.13.0

विचार-विमर्श

!!!:और ???:कभी-कभी प्रदर्शित करने में सक्षम नहीं होते हैं।


!!!: और ???: सिंटेक्स Xcode 11.3.1 पर काम नहीं कर रहा है
जयप्रकाश दुबे

56

ऑब्जेक्टिव-सी कोड में Xcode उन टिप्पणियों का पता लगाता है, // MARK: - fooजिनकी तुलना में थोड़ा अधिक पोर्टेबल है #pragma। लेकिन इनको उठाया नहीं जा रहा है, बहुत (अभी तक?)।

संपादित करें: Xcode 6 बीटा 4 में फिक्स्ड।


6
मुझे यकीन है कि वे इसे जल्द ही उपलब्ध
करवाते हैं

1
मैं इस बात की पुष्टि कर सकता हूं कि // MARK: -फिलहाल काम नहीं कर रहा है।
रुई पेर्स

काम नहीं कर रहा है, लेकिन नमूना कोड टिप्पणी की उस शैली से अटे पड़े हैं, इसलिए इसे अंततः उठाया जाना चाहिए।
नैट कुक

1
क्या यह महत्वपूर्ण है कि टिप्पणी पोर्टेबल होनी चाहिए? क्योंकि स्विफ्ट कोड को किसी भी अन्य भाषा में सीधे पोर्ट करना पहले से ही डेवलपर्स के लिए चुनौती है।
होलेक्स

हम्म, मैं बहुत से लोगों को टिप्पणी करते देखता हूं कि यह काम करता है, लेकिन मैं बीटा 6 पर हूं और // MARK:काम नहीं कर रहा हूं । मैंने अंतरिक्ष के साथ और बिना, बृहदान्त्र के साथ और बिना, सभी-कैप्स और मिश्रित (मार्क) की कोशिश की है। क्या कोई तरकीब है? क्या मुझे प्रीफ़ या कुछ और सक्रिय करने की आवश्यकता है?
ओली

37

मुझे लगता Extensionsहै कि इसके बजाय एक बेहतर तरीका है #pragma mark

उपयोग करने से पहले कोड Extensions:

class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
    ...

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        ...
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        ...
    }

    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        ...
    }
}

उपयोग करने के बाद कोड Extensions:

class ViewController: UIViewController {
    ...
}

extension ViewController: UICollectionViewDataSource {
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        ...
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        ...
    }
}

extension ViewController: UICollectionViewDelegate {
    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
       ...
    }
}

6
मुझे लगता है कि इसकी क्षमता प्रागमाओं की तुलना में बहुत अधिक है, लेकिन इस समय प्रैग्मस अभी भी बेहतर है, क्योंकि एक्सटेंशन ड्रॉप डाउन मेनू में प्रोटोकॉल नाम या कस्टम नाम नहीं दिखाते हैं क्योंकि प्रैग्मस करते हैं ( नीचे देखें Whasssaaahhh का उत्तर )
noo4d

नया "// MARK:" कोड उपयोगी है, लेकिन मुझे आपके स्पष्ट उदाहरण भी पसंद हैं कि एक्सटेंशन का उपयोग कैसे करें - विशेष रूप से प्रतिनिधि कार्यों के लिए!
1

एक्सटेंशन भी सीमित करते हैं कि आप क्या कर सकते हैं - जैसे कोई संग्रहीत गुण नहीं
कन्फ्यूज्ड वोरलोन

1
मैं दोनों का उपयोग करता हूं, क्योंकि extensionअकेले Xcode के ब्रेडक्रंब नियंत्रण के ड्रॉपडाउन मेनू में बाहर नहीं खड़ा है।
निकोलस मियारी

36

Xcode 8 अब इसे अनुसरण करता है और विधि ड्रॉपडाउन में इस तरह दिखाता है:

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


मार्क के बारे में क्या:? यह // ARK: मेरे लिए Xcode 8
fnc12

अपना कोड जांचें, आप अपने // MARK: लाइन के ऊपर कुछ यूनिकोड वर्णों का उपयोग कर रहे होंगे। किसी कारण से xcode भ्रमित हो जाता है (और क्योंकि बेकार है), और वह संभाल नहीं सकता।
carlos_ms

3
!!!और ???वाक्य रचना Xcode 8.3.3 पर काम किया जाना प्रतीत नहीं होता है ...
क्रिस फ्रेडरिक

@ क्रिसफ्रेडरिक भी !!! तथा ??? Dosen 'Xocde 11.3.1' पर काम नहीं कर रहा है
जयप्रकाश दुबे

34

WWDC में आज सुबह स्विफ्ट लैब में एक Apple इंजीनियर के साथ पुष्टि की गई कि वर्तमान में कोई #pragma या समतुल्य नहीं हैं, वे इस बग पर विचार करते हैं, और यह जल्द ही आ जाएगा, इसलिए मुझे बीटा 2 का अनुमान है, मुझे उम्मीद है।

वैसे भी, यह जिस तरह से है।


Xcode अब समर्थन करता है // MARK :, // TODO: और // FIXME स्थल आपके कोड को एनोटेट करते हैं और उन्हें जंप बार में सूचीबद्ध करते हैं


6
बीटा 2, यह अभी भी नहीं है
cescofry

अजीब। मेरे लिए बस ठीक काम करता है। PS: अपने Xcode को अपडेट करें।
डेनियल

@ डैनियल: Xcode का कौन सा संस्करण? मैं Xcode 6.4 का उपयोग कर रहा हूं और लगता है कि यह काम नहीं कर रहा है।
जयप्रकाश दुबे

19

#pragma_markस्विफ्ट में जोड़ने के लिए तीन विकल्प हैं :

1) // MARK: - your text here -

2) // TODO: - your text here -

3) // FIXME: - your text here -

नोट: -ऐड विभाजक के लिए उपयोग करता है


17

उपयोग

// MARK: SectionName

या

// MARK: - SectionName

यह प्राग्म निशान के ऊपर एक रेखा देगा, जिससे यह अधिक पठनीय होगा।

आसानी के लिए बस जोड़ें

// MARK: - <#label#>

आपके कोड स्निपेट के लिए।

वैकल्पिक तरीका -

इसे इस तरह से इस्तेमाल करें

private typealias SectionName = ViewController
private extension SectionName  {
    // Your methods
}

यह न केवल निशान जोड़ देगा (केवल प्राग्मा चिह्न की तरह), बल्कि कोड को अच्छी तरह से अलग भी करेगा।


1
आप का उपयोग करते हैं Swiftlint , इसके बारे में शिकायत //MARKप्रारूप (कोई जगह) और सुझाव है // MARK: (text)( एक अंतरिक्ष के बीच //और मार्क, कोई जगह नहीं के बीच MARKऔर :, और एक अंतरिक्ष के बीच :और अनुभाग नाम)
निकोलस Miari

2
@ निकोलसमीरी, धन्यवाद, मैंने आपके सुझाव के अनुसार संपादन किया है। और अगले प्रोजेक्ट के लिए SwiftLint का उपयोग करने का भी प्रयास करेगा। :)
निखिल मानपुरे

13
//# MARK: - Spinner Class Methods

एक विभाजक रेखा सम्मिलित करने के लिए बृहदान्त्र और आपके विवरण के बीच एक रेखा जोड़ें। यह आपके कोड को और भी व्यवस्थित करने में मदद करता है। ऊपर दिए गए कोड और स्क्रीनशॉट एक पंक्ति के साथ MARK टिप्पणी का उपयोग करते हैं।

  1. // # मार्क: - टेक्स्ट मेथड्स (लाइन)
  2. // # मार्क: टेक्स्ट मेथड्स (NO LINE)

यह केवल मार्क टिप्पणी के साथ काम करता है।

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


12

आप भी Swift 4.2 / XCode 10 संकलक के निर्देशों की तरह दिलचस्पी ले सकते हैं

#warning("Some string to display")

तथा

#error("Some error to display")

यह उपयोगी हो सकता है जब आप वास्तव में कुछ याद नहीं करना चाहते हैं।

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


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

9

पेशेवर प्रोग्रामर को अच्छे कोड के लिए इस टैग का उपयोग करना चाहिए। यह टीम के काम के लिए भी अच्छा है।

// MARK: example Web Service start here
// TODO: example 1
// FIXME: Please change BASE url before live 

इस तरह की विधि खोजना आसान है

इस तरह की विधि खोजना आसान है


6

Xcode 11 में उन्होंने मिनिमैप जोड़ा है जिसे सक्रिय किया जा सकता है Editor -> Minimap

मिनिमैप कोड में तेजी से अभिविन्यास के लिए प्रत्येक चिह्न पाठ दिखाएगा। प्रत्येक चिह्न की तरह लिखा गया है// MARK: Variables

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


5

//MARK:नहीं करता है लगता है Xcode 6.3.2 में मेरे लिए काम करने के लिए। हालांकि, यह वही है जो मैंने इसे काम करने के लिए किया था :

1) कोड:

import Cocoa

class MainWindowController: NSWindowController {

    //MARK: - My cool methods

    func fly() {
    }

    func turnInvisible() {

    }
}

2) टिप्पणी jump barजोड़ने पर कुछ भी नहीं बदलता दिखाई देता है //MARK। हालाँकि, अगर मैं जंप बार में सबसे सही नाम पर क्लिक करता हूं, तो मेरे मामले में यह कहता है MainWindowController(with a leading C icon), तो एक पॉपअप विंडो // MARK: कमेंट के प्रभाव को प्रदर्शित करेगी, अर्थात् एक हेडिंग जो "मेरा कूल तरीके" कहती है:

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

3) मैं यह भी ध्यान देता हूं कि यदि मैं अपने कोड में से किसी एक तरीके पर क्लिक करता हूं, तो यह विधि जंप बार में सबसे सही प्रविष्टि बन जाती है। MainWindowController(with a leading C icon)जंप बार में सबसे सही प्रविष्टि पाने के लिए, मुझे अपने तरीकों के ऊपर व्हाट्सएप पर क्लिक करना होगा।


नहीं है कि यह कैसे माना जाता है? कि आपको टॉप बार पर क्लिक करना है?
आर्बिटूर

3

Apple ने बिल्डिंग कोकोआ ऐप्स के नवीनतम संस्करण में लिखा है ,

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

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


0

एक करने के लिए आइटम जोड़ें: उपसर्ग TODO के साथ एक टिप्पणी डालें:। उदाहरण के लिए: // TODO: [आपका टू-आइटम]।

बग फिक्स अनुस्मारक जोड़ें: उपसर्ग FIXME के ​​साथ एक टिप्पणी डालें:। उदाहरण के लिए: // FIXME: [आपका बग फिक्स रिमाइंडर]।

एक शीर्षक जोड़ें: उपसर्ग मार्क के साथ एक टिप्पणी डालें:। उदाहरण के लिए: // MARK: [आपका अनुभाग शीर्षक]।

एक विभाजक रेखा जोड़ें: एनोटेशन के ऊपर एक विभाजक जोड़ने के लिए, एनोटेशन के टिप्पणी भाग से पहले एक हाइफ़न (-) जोड़ें। उदाहरण के लिए: // MARK: - [आपकी सामग्री]। एनोटेशन के नीचे विभाजक जोड़ने के लिए, एनोटेशन के टिप्पणी भाग के बाद एक हाइफ़न (-) जोड़ें। उदाहरण के लिए: // MARK: [आपकी सामग्री] -।



0

प्राग्मा चिह्न आपके कोड की पठनीयता में सुधार करने का एक तरीका है। प्राग्म टिप्पणियां Xcode जंपबार पर टैग की तरह दिखाई देंगी।

//MARK:  <Your comment goes here>

उदाहरण: कोड में,

//MARK: Properties

// MARK: View Life cycle

//MARK: Helper methods

इस तरह से यह Xcode जंप बार में दिखाई देगा।

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


आपको बस उन्हें अपनी फ़ाइल में सही स्थानों पर सम्मिलित करना है।
वरुणपति 28
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.