iOS --- 使用NSAssert来调试程序

NSAssert可用来对结果进行断言,如下用于断言UIButton的title不为空:

- (IBAction)actionBtnClicked:(UIButton *)sender {
    NSAssert(sender.titleLabel.text, @"1: sender.titleLable.text not nil");
    NSAssert(![sender.titleLabel.text isEqualToString:@""], @"2: sender.titleLable.text not nil");
    NSAssert(sender.titleLabel.text == nil, @"3: sender.titleLable.text not nil");

    NSLog(@"sender.name : %@", sender.titleLabel.text);
}

执行结果:
第三个断言会失败,报出下边的错误:

这里写图片描述

区分Debug和Release

有些时候,我们仅仅想在Debug版本中使用NSAssert功能,而在Release版本中关闭NSAssert功能,则可以在Building Settings->Preprocessor Macros中,设置Release版本的NS_BLOCK_ASSERTIONS,禁止断言检查即可:

这里写图片描述

在Edit Scheme->Run->Build Configuration中,更改编译版本为Release,运行程序,NSAssert不会报错。

更改编译版本Release版本下NSAssert不会报错
这里写图片描述这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值