NSAssert()的定义是
#define NSAssert(condition, desc)
condition是条件表达式,值为yes或者no,在OC中规定0为假,非0就为真。
desc为异常描述,为NSString类型。
当condition为yes时程序继续运行;
当condition为no时程序终止并抛出带有desc描述的异常信息。
使用场景:
使用断言主要是要开发和调试阶段,不是用户交互效果。更多的是开发人员之间的沟通手段,比如你设计了一个类,其中的一个实例变量对于输入的值是有有效限制的。为了防止其他开发人员不合理使用这个类,在类的实现文件中放置多个断言,可以起到一个防错功能。
使用举例:
NSInteger age = -1;NSAssert((age > 0 || age == 0), @"年龄不能小于0");