我想使用一些NSAssert内容和其他东西来在我的应用程序中实现更好的调试。如果断言失败,NSAssert需要一个打印的字符串。很好,但是没用,除非你在那个字符串中输入一大堆信息,这在整个地方完成时会变得很麻烦。
所以我想创建一个宏,它将使用一个充满有用信息的字符串来执行NSAssert调用,例如类名,方法名和其他东西。但更重要的是,我也希望提供自定义评论。想象一下像这样的宏:
USEFUL_ASSERT(foo!= nil,@“这不好,真的是”)
由于很多原因我不能在这里使用函数或方法调用,因为上下文会丢失,我找不到哪个类导致了这个问题,哪个方法导致了这个问题。这只能在该方法本身内完成,所以我必须为[self class]和_cmd这样的信息传递很多参数,但我不希望所有这些东西分散在各处。插入的代码越短,维护就越好。
有什么想法吗?
答案 0 :(得分:2)
看看macro docs。
答案 1 :(得分:1)
#define USEFUL_ASSERT(condition, comment) /*whatever*/