Използвам mogenerator за генериране на Core Data класове. Mogenerator произвежда машинни класове и човешки класове. Разработчикът не трябва да променя машинно генерираните класове, тъй като те се генерират при всяко извикване на mogenerator. Човешките класове обаче могат да бъдат модифицирани според желанията на разработчика.
Машинните класове съдържат декларацията на всяко свойство на обекта Core Data. В Doxygen как се документира свойство, дефинирано във файл A от файл B?
РЕДАКТИРАНЕ: Добавен пример за илюстриране на въпроса
Пример:
В крайна сметка целта тук е да има нещо подобно на примера по-долу.
FileA.h (не може да се променя)
@interface FileA : NSObject
{
NSString* myProperty;
}
@end
Файл B.h
#include "FileA.h"
@interface FileB : FileA
{
/**
* @property myProperty
*
* This is the documentation of "myProperty"
* defined in FileA but documented in FileB
*/
}
@end
Изпробвано (документационен блок в @interface FileB @end bock):
@property myProperty – Doxygen не свързва документацията със собствеността.
\property myProperty – Doxygen не свързва документацията със собствеността.
@property FileA::myProperty - Doxygen не свързва документацията със свойството и генерира; предупреждение: не е намерен уникално съответстващ член на класа за FileB::myProperty
\property FileA::myProperty – Същото
Решение
Файл B.h
#include "FileA.h"
/**
* @property FileA::myProperty
*
* This is the documentation of "myProperty"
* defined in FileA but documented in FileB
*
* Documentation block MUST BE outside FileB class
*
*/
@interface FileB : FileA
{
}
@end
\property FileA::myProperty
и не ни уведомите какво се случва? - person Chris   schedule 12.01.2012@interface FileB : FileA
от вас не съответства на документацията за\interface
команда. Освен това вие заявявате във вашето решение, че документационният блок ТРЯБВА ДА Е извън класа FileB. Това не трябва да е така - това предполага, че нещо друго не работи според очакванията. - person Chris   schedule 12.01.2012@
или \ като префикс за команди Doxygen, така че\property
и@property
са едно и също нещо, няма нужда да правите разлика между тях. Когато сте използвали@property FileA::myProperty
казвате, че сте получили предупреждението, че не е намерен уникално съвпадащ член на класа за FileB::myProperty. Това със сигурност трябва да еFileA::myProperty
? - person Chris   schedule 12.01.2012FileB : FileA
е правилна. Ако стартирате Doxygen на двата примерни файла, дадени в моя отговор, работи ли според очакванията? - person Chris   schedule 12.01.2012