2011-12-17 7 views
16

कभी-कभी मेरे पास एक इंटरफ़ेस होता है जो कई प्रोटोकॉल लागू करता है और मुझे एक्सकोड से चेतावनी मिल जाएगी कि मेरा कार्यान्वयन अपूर्ण है।एक्सकोड चेतावनी के दौरान कौन सी विधियों को लागू नहीं किया गया है, यह निर्धारित करने के लिए कैसे करें

क्या यह निर्धारित करने का एक आसान तरीका है कि कौन से तरीके "आवश्यक" हैं लेकिन लागू किए गए हैं (प्रोटोकॉल हेडर फ़ाइलों से सभी गैर-वैकल्पिक तरीकों के डमी कार्यान्वयन के बिना)?

उदाहरण के लिए, मैं इस इंटरफेस पर एक चेतावनी है, लेकिन मैं सभी प्रोटोकॉल के माध्यम से खुदाई करने के लिए है नहीं करना चाहती .. जाहिर है XCode जानता है कि कुछ याद कर रहे हैं, क्यों यह सिर्फ यह नहीं बता सकते जो वे कर रहे हैं!

@interface KTThumbsViewController : UIViewController <KTThumbsViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIAlertViewDelegate> 

XCode 4

enter image description here

+1

यह कहता है कि 'विधि यहां घोषित की गई है' यदि आप उस पर क्लिक करते हैं। यह आपको विधि घोषणा दिखाएगा। –

उत्तर

6

Alt और प्रोटोकॉल पर क्लिक करें, xcode आपको बताएंगे कि जहां यह तो आप हेडर फाइल पर एक नज़र ले जा सकते हैं परिभाषित किया गया है जाएगा। वैकल्पिक रूप से "समस्याएं" टैब में यह आपको दिखाएगा कि आपने अभी तक कौन सी विधियां लागू नहीं की हैं।

+0

"मैं सभी प्रोटोकॉल के माध्यम से खोदना नहीं चाहता"। मुद्दे नेविगेटर बस "अधूरा कार्यान्वयन" कहता है - यह उन तरीकों की सूची नहीं देता है जो लागू नहीं किए गए हैं - स्क्रीनशॉट देखें। –

+0

@ P1X3L5 दोस्त, अपने ओडब्लूएन स्क्रीनशॉट की जांच करें, यह आपको दिखाता है कि आपने अभी तक क्या लागू नहीं किया है, वहां उस स्रोत फ़ाइल के लिए सूची में 2 आइटम हैं जो समान समस्या दिखाते हैं –

+2

यह मुझे बताता है ** कुछ ** गायब है, लेकिन यह नहीं है कि यह क्या है - यह मेरे मूल प्रश्न की जड़ है। यह एक विधि बन गया - (शून्य) didAddPhoto: स्क्रीनशॉट में कहीं भी उल्लेख नहीं किया गया है।हां, यह मुझे बताता है कि किस प्रोटोकॉल में मुझे एक इम्प्लस गुम है (और मैंने यह नहीं देखा कि इससे पहले कि यह इंगित करने के लिए धन्यवाद), लेकिन वह अकेला ही सीमित सीमित मूल्य हो सकता है - मैं अनुपूरक तरीकों की एक सूची ढूंढ रहा हूं एमटी कक्षा और प्रोटोकॉल परिभाषा के बीच आगे और पीछे जाने के बिना। –

8

दुर्भाग्य से यहां जवाब नहीं मिला। लेकिन नेविगेटर व्यू में इश्यू नेविगेटर में थोड़ा और खुदाई एक जवाब बदल गया।

ओपन ऊपर दाईं ओर देखें बटन के माध्यम से नेविगेटर दृश्य:

View Navigator toggle button

तब ऊपरी-बाएं पर त्रिकोण/विस्मयादिबोधक चिह्न बटन के माध्यम से जारी करना नाविक खोलें:

enter image description here

यदि आप बाईं ओर छोटे त्रिकोण के साथ अपने "अपूर्ण कार्यान्वयन" अर्थपूर्ण समस्या का विस्तार करते हैं, तो आप एक्सकोड की शिकायत के विवरण देख सकते हैं।

1

इस

करने के लिए एक अनुवर्ती के रूप में कभी कभी "अपूर्ण कार्यान्वयन" वास्तव में "समारोह प्रोटोटाइप और कार्यान्वित समारोह के बीच बेमेल" का अर्थ है।

उदाहरण के लिए, अपने ज फ़ाइल में यदि आप इस था:

- (NSTimeInterval) SayDigit: (int) score; 

लेकिन अपने .m फ़ाइल में आप इस था:

- (NSTimeInterval) SayDigit: (int) digit: (NSTimeInterval) time 

आप "अपूर्ण कार्यान्वयन" चेतावनी मिलेगा ।

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

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