ios NSAssert()

来源:互联网 发布:龙珠激斗刷龙石软件 编辑:程序博客网 时间:2024/06/05 01:59

一、断言初探

断言是这么定义的

define NSAssert(condition, desc,...)

有点类似条件表达式。conditon为条件表达式,值为YES或NO。desc为描述,NSString类型。当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息,异常信息可自定义。

断言可理解成:可执行的注释。
在高健壮性代码中,优先使用断言再处理错误。

二、断言的作用
1、降低复杂度
2、可以帮助开发者尽快定位bug

三、一些注意事项
开发者没有必要在应用程序的每个版本中都进行断言检查,这是因为大多数项目都是有两个版本:Debug版和Release版。在Debug版中,开发者希望所有的断言都检查到,而在Release版中,往往都是禁用断言检查的。
进行如下设置
在TARGETS中选择Build Settings,找到Preprocessor Macros(预处理宏)项目,配置它的Release为NS_BLOCK_ASSERTIONS,具体操作步骤为:双击Release后面的空白处,此时会弹出对话框,点击对话框中的+添加NS_BLOCK_ASSERTIONS即可。

四、结合小例子说明
这里写图片描述

gif中如果UIImageView没给fram,在debug下,执行断言。
demo地址: http://download.csdn.net/detail/qq_18505715/9727402

0 0