Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Quick Help для своего кода в XCode 5

Anna | 2.07.2014 | нет комментариев

Quick Help обучился брать документацию из комментариев:



Прежде необходимо было ставить appledoc (либо аналог), компилировать и устанавливать .docset; сейчас же довольно легко написать документирующий комментарий, и Quick Help сразу его увидит.
Официальной документации по поддерживаемому синтаксису пока нет (по крайней мере, я не обнаружил), но применяется что-то среднее между HeaderDoc и Doxygen.

1)

1-й абзац комментария применяется в автодополнении, в Quick Help видны все:

/**
 Brief description.
 Brief description continued.

 Details follow here.
 */
- (BOOL)doSomethingWithArgument:(NSString *)argument;


2)

Само собой, поддерживаются типовые теги @param@return, а также некоторые другие, скажем, @note,@warning@see@code:

/**
 Brief description.
 Brief description continued.

 Details follow here.

 @note I am a note!

 @warning Not thread safe!

 @param argument Some string.

 @return YES if operation succeeded, otherwise NO.
 */
- (BOOL)doSomethingWithArgument:(NSString *)argument;

3)

Документировать дозволено не только отдельные способы, но и каждый класс в целом:

/**
 Example class to show the new cool XCode 5 feature.

 Usage example:
 @code
 QHExample *example = [QHExample new];
 BOOL result = [example doSomethingWithArgument:@"test"];
 @endcode
 */
@interface QHExample : NSObject

4)

Документирование свойств:

/// Description for exampleProperty.
@property (nonatomic) int exampleProperty;

5)

Deprecated способы определяются механически:

/**
 This method is deprecated!

 @see '-anotherMethod'
 */
- (void)someMethod __attribute__((deprecated("use '-anotherMethod' instead.")));

6)

Функции тоже поддерживаются:

/**
 A function that always returns 42.

 @param fArg Some float argument.

 @return 42.
 */
int function_42(float fArg);


А макросы, к сожалению, — нет.

7)

Есть помощь enum:

/**
 ROUChunkType description.
 */
enum ROUChunkType {
    /// Data chunk.
    ROUChunkTypeData = 0,
    /// Acknowledgement chunk.
    ROUCHunkTypeAck = 1
};

Но нет поддержки рекомендуемых NS_ENUM и NS_OPTIONS.
Т.е. если записать:

/**
 ROUChunkType description.
 */
typedef NS_ENUM(uint8_t, ROUChunkType){
    /// Data chunk.
    ROUChunkTypeData = 0,
    /// Acknowledgement chunk.
    ROUCHunkTypeAck = 1
};

то для констант изложения в Quick Help и в автодополнении будут доступны, но для самого типа ROUChunkType— нет.

8)

Для типов-конструкций обстановка получше: для самого типа нет изложения в автодополнении, но в Quick Help есть, для полей есть и то и то.

/**
 Chunk header description.
 */
typedef struct {
    /// Chunk type.
    enum ROUChunkType type;
    /// Chunk length.
    uint16_t length;
} ROUChunkHeader;
9)

Но отлично работает документация для типов-блоков:

/**
 A block with one argument returning BOOL.

 @param arg Block's argument.

 @return YES.
 */
typedef BOOL (^QHBlock)(id arg);

10)

Помимо того, поддерживаются комментарии не только в интерфейсе, но и в реализации, в том числе для переменных:

- (double)perimeter{
    /// The number

Источник: programmingmaster.ru

Оставить комментарий
БАЗА ЗНАНИЙ
СЛУЧАЙНАЯ СТАТЬЯ
СЛУЧАЙНЫЙ БЛОГ
СЛУЧАЙНЫЙ МОД
СЛУЧАЙНЫЙ СКИН
НОВЫЕ МОДЫ
НОВЫЕ СКИНЫ
НАКОПЛЕННЫЙ ОПЫТ
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB