我想使用一些 NSAssert 的东西和其他东西来更好地调试我的应用程序。NSAssert 想要一个在断言失败时打印的字符串。很好,但没用,除非你在那个字符串中输入一大堆信息,如果到处都是这样,可能会变得一团糟。
所以我想制作一个宏来执行 NSAssert 调用,其中包含一个充满有用信息的字符串,如类名、方法名和其他内容。但更重要的是,我还想提供自定义评论。想象一个这样的宏:
USEFUL_ASSERT(foo != nil, @"那不好,真的")
由于很多原因,我不能在这里使用函数或方法调用,因为上下文会丢失,而且我无法找出哪个类导致了该问题,哪个方法导致了该问题。这只能在该方法本身内部完成,因此我必须为这些信息传递大量参数,例如 [self class] 和 _cmd,但我不希望所有这些东西散落在各处。插入的代码越短,维护得越好。
任何想法?