2016-01-02 15 views
15

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

मुझे लगता है कि एक्सकोड में ऐसी सुविधा होनी चाहिए जो आपके लिए आवश्यक विधियों को स्वचालित रूप से लागू करे, है ना? इंटेलिजे आईडीईए, ग्रहण, और विजुअल स्टूडियो की तरह।

मैं जानना चाहता हूं कि मुझे यह सुविधा कहां मिल सकती है। यदि नहीं है, तो इसके लिए कोई कामकाज है? कम से कम मुझे प्रोटोकॉल के स्रोत कोड को हर बार जब मैं अनुरूप मानता हूं तो उसे खोलना नहीं पड़ता है।

आप समझ में नहीं आता है, तो मैं क्या मतलब है, यहाँ कुछ कोड है:

मैं एक प्रोटोकॉल

protocol Hello { 
    func doStuff() 
} 

जब मैंने इसे के अनुरूप है,

class MyClass: Hello { 

} 

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

class MyClass: Hello { 
    func doStuff() { 
     code 
    } 
} 

अब आप समझते हैं कि मेरा क्या मतलब है? मैं सिर्फ यह पूछना चाहता हूं कि ऐसी सुविधा कहां मिलें।

कोशिश यहाँ hello तरह उपसर्ग के रूप में प्रोटोकॉल के साथ पद्धतियां निर्धारित करने के तो आप को याद करने के तरीकों बस प्रोटोकॉल नाम टाइप करना शुरू नहीं करेंगे और Xcode संकेत देगा:

+2

इसी तरह के प्रश्न देखें http://stackoverflow.com/ques टियां/27331588/ऑटोमिमेंट-स्विफ्ट-प्रोटोकॉल-विधियों-इन-एक्सकोड –

+0

लिंक किया गया उत्तर ही एकमात्र दृष्टिकोण है।आपके द्वारा कुछ टेबलव्यू नियंत्रकों को बनाने के बाद विधियां आपकी स्मृति में होंगी :) – Paulw11

+0

जहां तक ​​मैं इस प्रश्न को समझता हूं, यह @AlessandroChiarotto से उपर्युक्त लिंक जैसा नहीं है। यह प्रश्न यहां प्रोटोकॉल के अनुरूप होने पर आवश्यक कार्यों को लागू करने के बारे में है। उम्मीद है कि किसी को जल्द ही एक जवाब पता है। – AlexWoe89

उत्तर

9

खैर अगर मैं फिर यहां अपनी समस्या समझ में आ एक समाधान नहीं है आप सभी उपलब्ध तरीकों के साथ यहाँ देखें:

enter image description here

और अगर आप स्वत: पूर्ण प्रोटोकॉल चाहते हैं की कोशिश Snippets

+0

बहुत बहुत धन्यवाद! यह बहुत उपयोगी है! – Sweeper

+5

खराब नामकरण प्रथाएं आईडीई की कमी के लिए शायद ही एक वैध समाधान हैं। – Raphael

+0

आईओएस नामकरण प्रथाओं के मुताबिक आप ऐपडिलेगेट एप्लिकेशन फ़ंक्शन नामकरण या तालिका में देख सकते हैं डेटा देखें स्रोत नामकरण। आप रेवांडरलिच [स्विफ्ट दिशानिर्देश] (https://github.com/raywenderlich/swift-style-guide#delegates) को भी देख सकते हैं –

-2

एक्सकोड आपके लिए यह नहीं करेगा।

आप प्रोटोकॉल के लिए दस्तावेज़ को देखें, तो यह स्पष्ट रूप से चिह्नित किया गया है जो काम करता है आप को लागू करने के लिए है:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDataSource_Protocol/

4

Xcode 9, स्विफ्ट डेटा स्रोत & प्रतिनिधियों की अनिवार्य तरीकों के कार्यान्वयन का ख्याल रखता है।

इन स्नैपशॉट पर देखो, UICollectionViewDataSource के उदाहरण के साथ:

चेतावनी का संकेत प्रोटोकॉल तरीकों को लागू करने:

enter image description here

'फिक्स' बटन पर क्लिक करके, यह सभी अनिवार्य तरीकों जोड़ा गया है:

enter image description here

+0

क्या इसके लिए एक विशिष्ट सेटिंग चालू की आवश्यकता है? मुझे अभी भी एक्सकोड 9.2 – slackwars

+0

@ स्लैकवार्स के साथ ऑटो जेनरेट करने के तरीकों का विकल्प नहीं मिल रहा है - क्या आप कृपया साझा कर सकते हैं, किस (किस प्रोटोकॉल) ने आपकी कोशिश की है। अनिवार्य रूप से लागू होने के लिए कोई अनिवार्य कार्य है, तो यह चेतावनी/त्रुटि दिखाई देगी। यदि सभी फ़ंक्शन/विधियां वैकल्पिक हैं (या यदि आपने पहले से ही अपने कोड में जोड़ा/कार्यान्वित किया है), तो यह चेतावनी संकेत/दिखाया नहीं जाएगा। – Krunal

+0

कक्षा व्यू कंट्रोलर: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource { – slackwars

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

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