作用
当给定的条件为false时,直接生成一个断言。
声明
#define NSAssert(condition, desc, ...)
参数 | 描述 |
---|---|
condition | 表达式,值为YES或者NO |
desc | NSString对象,一般会写一段描述错误信息的字符串,可以包含参数的占位符 |
... | 用于填充desc字符串中的占位符的参数 |
用法
当程序处于Debug状态下,如果condition值为NO,那么程序会抛出一个异常,控制台会打印出desc。当程序处于Release状态下,断言不会执行。
所以我们一般可以利用断言来调试程序,举个例子:
NSAssert(self.dataSource != nil, @"必须设置dataSource");
我们在程序中添加了一条断言,如上,这句话的意思是必须要设置数据源,一旦self.dataSource没有设置,那么程序Debug时就会抛出异常,并且打印“必须设置dataSource”这句话,这样我们就能避免忘记设置数据源。