我想在Xcode 5中记录一个枚举,以便在自动完成弹出窗口中看到我的文档字符串为“快速帮助”。例如,如果我这样做:
//! Better than a normal int!
typedef int superint;
然后我可以输入superi
,弹出窗口显示superint
,弹出窗口底部显示“优于普通的int!”。
typedef enum: unsigned int {
a = 1,
b = 2,
c = 3,
} abc_t;
在这种情况下,预先//!
(或///
或/**
)行不起作用。我输入“abc_”并在弹出窗口中显示完成,但底部没有文档字符串。
我有一个想法是Apple可能更好地支持使用他们的NS_ENUM()宏,但//!
之前的行上的typedef NS_ENUM(...) { ... }
也不起作用。
我通过Foundation标题查看了这个有用的示例,但我认为他们必须做一些特别的事情。例如,NSXMLParserError
是一个枚举,在自动完成弹出窗口中显示文档字符串(如果您键入“NSXMLParserE”),但在NSXmlParser.h中,它在前面的行上有一个普通的//
注释。在我自己的代码中遵循此样式不会在弹出窗口中显示文档字符串。
答案 0 :(得分:1)
我找到了一种让它起作用的方法,但它有点难看:
typedef enum: unsigned int {
//! First letter
ABC_A = 1,
//! Second letter
ABC_B = 2,
//! Third letter
ABC_C = 3,
}
//! Now I know my ABC's.
abc_t;
我希望有一个解决方案,让我将文档字符串保持在上面,就像在其他所有上下文中一样。
答案 1 :(得分:0)
NS_ENUM可以记录在案。 使用您喜欢的任何多线样式,至少在检查器的Xcode 6中,它尊重@abstract的整体描述,如果您使用@field
,则跟随每个成员/*!
@abstract NSUInteger typedef to simplify stuff.
@field EnvironmentNumberMIN one.
*/
typedef NS_ENUM(NSUInteger, EnvironmentNumber) {
/// Lower floor. Use for validation.
EnvironmentNumberMIN = 0,
....
对于旧式枚举,它可以工作,但不会像使用NS_ENUM一样将成员放在离散的新行上