关于调试:如何使用#ifdef 指令制作调试代码。目标-c

How to make debug code using #ifdef directive. Objective-c

我想提出一个关于使用#ifdef 指令进行开发的问题。

我想在 Objective-c 中编写一些代码仅用于调试,例如:

在主函数中这样做:

1
#define DEBUG_LEVEL

在我的界面中这样做:

1
2
3
4
#ifdef DEBUG_LEVEL
BOOL editorIsDragged;
BOOL editorIsSelected;
#endif

....其他属性

1
2
3
4
#ifdef #DEBUG_LEVEL
@property (nonatomic, readwrite) BOOL editorIsDragged;
@property (nonatomic, readwrite) BOOL editorIsSelected;
#endif

然后在我的实现中这样做:

1
2
3
#ifdef #DEBUG_LEVEL
@synthetize editorIsDragged, editorIsSelected;
#endif

但我收到一个错误,因为在合成中 editorIsDraggededitorIsSelected 没有定义。
如果我尝试定义自己的 setter/getter 方法,我会收到相同的错误,因为 XCode 不存在我的变量(editorIsDraggededitorIsSelected)!

我在 C 中使用这种方法只编写调试代码,但在 obj-c 中我必须使用什么??

谢谢!


您不应该将您的#define DEBUG_LEVEL 放在一个头文件中,该头文件会包含在所有需要知道它的地方吗?就像在构建设置中设置或放入 *.pch 一样。而且我不确定这是否是一个错字,但您在此处的代码中还有#define #DEBUG_LEVEL(请参阅第二个哈希?)。