我想使用一些NSAssert东西和其他东西来在我的应用程序中启用更好的调试。 NSAssert需要一个断言失败时打印的字符串。很好,但是没有用,除非您在该字符串中键入一堆信息,否则到处乱写会变得很混乱。

因此,我想制作一个宏,该宏将使用包含类,类名,方法名和其他内容之类的有用信息的字符串进行NSAssert调用。但更重要的是,我也想提供一个自定义评论。想象这样一个宏:

USEFUL_ASSERT(foo!= nil,@“那不好,真的”)

由于种种原因,我不能在这里使用函数或方法调用,因为上下文会丢失,而且我无法找出哪个类导致了该问题,哪个方法导致了该问题。那只能在该方法本身内部完成,所以我必须为此信息传递很多参数,例如[self class]和_cmd,但是我不希望所有这些东西散布到各处。插入的代码越短,维护越好。

任何的想法?

最佳答案

#define USEFUL_ASSERT(condition, comment) /*whatever*/

10-08 05:36