2011-01-04 13 views
5

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

मैं एक अप्रलेखित आधार वर्ग पर एक वर्ग के लिए Doxygen मार्कअप जोड़ना है - NSString कहते हैं, तो Doxygen श्रेणी और एक अलग इकाई के रूप में कक्षा सूची में अपने तरीकों सूचीबद्ध करता है।

/** 
* @category NSString(Foo) 
* @brief A sample category on NSString 
*/ 
@interface NSString(Foo) 
@end 

कक्षा सूची में एक दस्तावेज़ वाली इकाई NSString (Foo) में परिणाम।

लेकिन, निम्न उदाहरण नहीं करता है:

/** 
* @category CCFMyCustomClass(Foo) 
* @brief A category on a documented base class 
*/ 
@interface CCFMyCustomClass(Foo) 
@end 

इसके बजाय, उत्तरार्द्ध मामले में, CCFMyCustomClass (फू) पर तरीकों के सभी CCFMyCustomClass के लिए दस्तावेज में शामिल किए गए हैं - आधार वर्ग। ,

उत्तर

3

आप डॉक्सीजन को छोड़ सकते हैं और AppleDoc के साथ जा सकते हैं।

एप्लाइडोक कमांड लाइन उपकरण है जो उद्देश्य-सी डेवलपर्स को विशेष रूप से स्वरूपित स्रोत कोड टिप्पणियों से ऐप्पल-जैसे स्रोत कोड दस्तावेज़ उत्पन्न करने में सहायता करता है। यह इनपुट के लिए संभवतः पठनीय स्रोत कोड टिप्पणियों के रूप में लेने के लिए डिज़ाइन किया गया है और टिप्पणियों के साथ-साथ आस-पास के स्रोत कोड का उपयोग HTML के रूप में और पूरी तरह से अनुक्रमित और ब्राउज़ करने योग्य Xcode दस्तावेज़ सेट के रूप में दृश्यमान आकर्षक दस्तावेज़ीकरण उत्पन्न करने के लिए किया गया है। यद्यपि ऐसे कई टूल हैं जो उद्देश्य-सी के लिए HTML दस्तावेज़ बना सकते हैं, लेकिन उन सभी को पता है कि नीचे वर्णित न्यूनतम लक्ष्यों को पूरा करने में मुझे कम जानकारी मिलती है।

यह भी GitHub

+0

धन्यवाद - ऐप्पलडोक ओबीजेसी और कोको प्रतिमानों के लिए अधिक उपयुक्त (निश्चित रूप से) दिखता है। व्यापक Doxygen मार्कअप से माइग्रेशन मार्ग को देखना होगा। – FluffulousChimp

+0

खुशी है कि मेरा छोटा सुझाव उपयोगी था। माइग्रेशन के साथ शुभकामनाएँ। – Abizern

+1

ध्यान रखें कि एप्लाडोक को डॉक्सिजन के विपरीत एट्रिब्यूशन की आवश्यकता होती है। –

0

एक समाधान हालांकि आदर्श नहीं है:

निम्नलिखित, हालांकि अक्सर उद्धृत, इस समस्या के साथ मदद करने के लिए नहीं है श्रेणी विधियों के लिए एक समूह बनाएं, ताकि कम से कम उन्हें बेस क्लास प्रलेखन पृष्ठ पर समूहीकृत किया जा सके।

तो ऊपर दूसरे उदाहरण के अनुरूप:

/** @name CCCFMyCustomClass(Foo) 
      Methods defined only in CCFMyCustomClass(Foo) category */ 
//@{ 

/** 
* 
* @method someFooMethod 
* @brief Does some foo things 
* @details First foo, then more foo, etc. 
*/ 
- (void)someFoodMethod; 

//@} 

इसके अलावा, मैं एक दस्तावेज आधार वर्ग पर श्रेणियों को अलग करने की कोई अन्य साधन मिल गया है।

0

पर उपलब्ध है मैं Appledoc के लिए एक और वोट में फेंक करना चाहते हैं। Doxygen की तुलना में उद्देश्य-सी के लिए अच्छे परिणाम प्राप्त करना बहुत आसान है।

/** 
@interface MyAppDelegate 
@mainpage The iPhone App 

This is information about my app, and appears in the main HTML page.\n\n 

As with all iOS apps, the main entry point is an App Delegate @see MyAppDelegate 
@defgroup Classes Classes 
@{ 
@brief Miscellaneous Classes 

Classes that don't fit in any other category 
@{ 
*/ 
/** 
@brief The application's delegate 

A delegate object is instantiated by the main function, so this is effectively the main entry point for the app 
@see MyAppDelegate() 
*/ 
@interface MyAppDelegate : UIResponder <UIApplicationDelegate> 
... 
@end 

/** @} */ 

/** @} */ 

:

0

मैं तरह मेरे वर्गों (हेडर फाइल में) दस्तावेज़।एम फ़ाइल में एक एक्सटेंशन श्रेणी है जहां मेरे पास निजी एक्सटेंशन विधियां हैं। MyAppDelegate और MyAppDelegate() के लिए पहले, एक देख-भी पल के लिए भी शामिल है, हालांकि देख-दूसरे में वापस पहले करने के लिए काम नहीं करता है -

/** 
@category MyAppDelegate(internal) 
@addtogroup Classes 
@{ 
*/ 

/** 
@brief Application delegate class extension 

Internal extension for the application delegate 
@see MyAppDelegate 
*/ 
@interface MyAppDelegate() 
... 
@end 

/** @} */ 

@implementation MyAppDelegate 
... 
etc 

मैं दो HTML पृष्ठों मिल: इस तरह लग रहा है (यह लग रहा है @see श्रेणी (के साथ कोई समस्या नहीं है की तरह)। हालांकि तरीकों को सही ढंग से दो पृष्ठों में विभाजित है।

मुझे लगता है कि कुंजी केवल नहीं अंदर ऑब्जेक्टिव-सी @interface ब्लॉक के अंदर अपने तरीके दस्तावेज़ के लिए है @ कार्यान्वयन ब्लॉक। मैं @defgroup और @addtogroup ब्लॉक का भी एक निश्चित प्रकार के सभी मॉड्यूल (जैसे देखें नियंत्रक, मॉडल आदि) को समूहबद्ध करने के लिए उपयोग करता हूं।

मुझे आशा है कि इससे किसी को

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