我想在 Xcode 5 中记录一个枚举,以便我可以在自动完成弹出窗口中看到我的文档字符串作为快速帮助。例如,如果我这样做:

//! Better than a normal int!
typedef int superint;

然后我可以输入 superi 并且弹出窗口显示 superint ,并且在弹出窗口的底部显示“比普通整数更好!”。

不过,我似乎无法想出任何方法来使其适用于枚举。我的枚举看起来像这样:
typedef enum: unsigned int {
    a = 1,
    b = 2,
    c = 3,
} abc_t;

在这种情况下,预先添加 //! (或 ////** )行不起作用。我输入“abc_”,完成出现在弹出窗口中,但底部没有文档字符串。

我的一个想法是 Apple 可能会更好地支持使用他们的 NS_ENUM() 宏,但是在 //! 之前的行上的 typedef NS_ENUM(...) { ... } 也不起作用。

我查看了 Foundation header 中的示例,以了解它的工作原理,但我认为它们一定是在做一些特别的事情。例如,NSXMLParserError 是一个枚举,它在自动完成弹出窗口中显示一个文档字符串(如果您键入“NSXMLParserE”),但在 NSXmlParser.h 中,它在它之前的行中有一个普通的 // 注释。在我自己的代码中遵循此样式不会在弹出窗口中显示文档字符串。

最佳答案

我找到了一种让它工作的方法,但它有点难看:

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;

我很想有一个解决方案,让我将文档字符串保留在声明之上,就像在所有其他上下文中一样。

关于objective-c - 为 Xcode 5 的快速帮助的枚举创建文档字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20893579/

10-11 00:44