0

我正在为我工​​作的公司开发一个他们可以使用的框架,如果他们说将错误的参数传递给我制作的方法,我希望能够将一些运行时警告打印到控制台,比如如果当他们应该通过 self 时,他们通过 nil。我知道我可以做 NSLog() 和预处理器#warning。但是我还能做些什么来警告用户,因为#warning 将始终显示在编辑器中,除非我将它放在某个预处理器 if 语句中。

4

1 回答 1

2

你应该使用NSAssert这个。如果在调试模式下,它将停止执行,在没有调试器的情况下运行时,它会将错误打印到设备日志中。

- (void)someSelector:(id)param)
{
    NSAssert(param != nil, @"Parameter should always be non-nil");
    // do stuff with param
}

如果您愿意,您也可以使用 编译发布NS_BLOCK_ASSERTIONS,那么根本不会出现任何断言(不会打印任何内容,甚至不会编译测试)。这样您就可以避免在最终产品中检查它的开销。

于 2012-06-20T09:45:34.660 回答