ios拓展3-断言NSAssert()调试程序中的Bug

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");
    }
}
[self assert:@"a"]; 调用

如果调用如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self assert:nil];
}
程序会直接报错,
tips: 我更喜欢 断点po 或者 直接 NSLog,  看到抛出异常很难受
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容