swift - vxi - स्विफ्ट में#pragma निशान?




swift vxi (10)

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


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

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


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

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

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


आप // MARK: उपयोग कर सकते हैं // MARK: और // MARK:- तेज़ है। दूसरा विकल्प विभाजक लाइन भी जोड़ता है।


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

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


उपयोग

// MARK: SectionName

या

// MARK: - SectionName

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

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

// MARK: - <#label#>

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

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

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

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

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


एक्सकोड 5 तक प्रीप्रोसेसर निर्देश #pragma mark मौजूद था।

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

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

कुछ उदाहरण :

// MARK:

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

// MARK: your text goes here

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

// MARK: - your text goes here

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

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


मुझे लगता है कि 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) {
       ...
    }
}

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

1) // MARK: - your text here -

2) // TODO: - your text here -

3) // FIXME: - your text here -

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


//MARK: एक्सकोड 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) कहता है, फिर एक पॉपअप विंडो // मार्क के प्रभाव दिखाएगी: टिप्पणी, अर्थात् एक शीर्षक जो कहता है "मेरी शांत विधि":

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


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

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

मैं। मार्क: //MARK: viewDidLoad

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

ii। TODO: //TODO: - viewDidLoad

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

iii। फिक्सम: //FIXME - viewDidLoad

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





swift