在第三方库中经常是可以看到断言的使用的。iOS中可以用的断言有NSAssert、NSParameterAssert以及C语言下使用的NSCAssert、NSCParameterAssert;
需要注意的有以下3点:
- Xcode 已经默认将release环境下的断言取消了, 免除了忘记关闭断言造成的程序不稳定.
- NSAssert的使用:
传2个参数
// 第一个参数是条件,如果第一个参数不满足条件, 就会记录和打印第二个参数
NSAssert(a == 5, @"a must equal to 5");
- NSParameterAssert的使用:
传一个参数,判断是否为空
- (void)assertWithPara:(NSString *)str {
// 只需要一个参数,如果参数存在程序继续运行; 如果参数为空,则程序停止打印日志, 日志内容是系统自己生成
NSParameterAssert(str);
}
断言的作用有:
在关键位置使用Assert,在Debug模式下,能够帮助准确定位bug产生的位置
推荐看下断言功能的简短介绍,看完就懂了😁
断言NSAssert()和NSParameterAssert区别和用处
网友评论