NSAssert()是一个宏,用于开发阶段调试程序中的Bug.
#define NSAssert(condition, desc, ...)
/*
condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。
当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息。
NSAssert()可以出现在程序的任何一个位置。
*/
具体事例如下:
- (void)viewDidLoad {
[super viewDidLoad];
[self assert:@"a"];
}
- (void)assert:(NSString *)str {
NSAssert(str, @"str is nil");
if (str) {
NSLog(@"%@",str);
}else{
NSLog(@"error");
}
}
如果调用如下:
- (void)viewDidLoad {
[super viewDidLoad];
[self assert:nil];
}
tips: 我更喜欢 断点po 或者 直接 NSLog, 看到抛出异常很难受