iOS断言

作者: Smallwolf_JS | 来源:发表于2018-06-19 23:13 被阅读25次

NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述。
NSAssert()是这样定义的:
#define NSAssert(condition, desc)
condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息。NSAssert()可以出现在程序的任何一个位置。

在iOS开发中,可以使用宏NSAssert()在程序中进行断言处理。NSAssert()使用正确,可以帮助开发者尽快定位bug。开发者没有必要在应用程序的每个版本中都进行断言检查,这是因为大多数项目都是有两个版本:Debug版和Release版。在Debug版中,开发者希望所有的断言都检查到,而在Release版中,往往都是禁用断言检查的。设置Release版本中禁用断言的方法如下:

在Build Settings菜单,找到Preprocessor Macros项,Preprocessor Macros项下面有一个选择,用于程序生成配置:Debug版和Release版。选择 Release项,设置NS_BLOCK_ASSERTIONS,不进行断言检查。如下图所示。

相关文章

  • CocosCreator3.x开发笔记8: Invalid re

    在iOS下运行报错,是因为正则不支持 因为ios不支持零宽断言 什么是零宽断言? 粗略总结:零宽断言是正则表达式中...

  • iOS断言

    NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属...

  • iOS 断言

    NSCParameterAssert 该宏评估这个参数,如果为 false ,它就打印一个错误日志信息,该信息包含...

  • iOS 断言

    NSAssert定义:#define NSAssert(condition, desc, ...) //第一个参...

  • iOS 断言

    定义: 断言(assertion)是指在开发期间使用的、让程序在运行时进行自检的代码(通常是一个子程序或宏)断言为...

  • 自动化小课堂

    1.创建测试数据后及时删除 2.断言的添加,选择合适的断言 3.断言可以区分Android和iOS两端添加 和 ...

  • 推荐学习:第三方库中经常使用的功能--断言

    在第三方库中经常是可以看到断言的使用的。iOS中可以用的断言有NSAssert、NSParameterAssert...

  • iOS中断言

    NSAssert为条件断言,不满住条件会打印后边的描述信息; NSAssert(<#condition#>, <#...

  • iOS断言调试

    1. assert宏,如果括号内表达式结果为假,就闪退 调试窗口输出信息: 2.用@throw抛出异常,自己检查条...

  • NSAssert()使用目的

    转自iOS开发中断言的使用—NSAssert()[https://blog.csdn.net/univcore/a...

网友评论

      本文标题:iOS断言

      本文链接:https://www.haomeiwen.com/subject/ggozeftx.html