断言: NSAssert()

格式

  • NSAssert(condition, desc, ...)

作用:

  • condition 不为空时断言为真, 等于nil时断言为假
  • 断言为真: 表明程序运行正常
  • 断言为假: 表明程序发生异常, Crash

介绍:

  • iOS开发过程中, 程序分为两个版本: Debug版 和 Release版, 断言通常在Debug版本使用, 在Release版本禁用
  • 在Build Settings菜单,找到Preprocessor Macros项,Preprocessor Macros项下面有一个选择,用于程序生成配置:Debug版和Release版。选择 Release项,设置NS_BLOCK_ASSERTIONS,不进行断言检查。如下图所示。
Release环境下禁用断言配置.png
  • Debug环境下, 当condition为假时(OC中非0即为真!), 程序Crash, 并打印错误信息, 如下图:
Debug环境下传入空值时.png
  • Release环境下, 不执行断言
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Xcode 已经默认将release环境下的断言取消了, 免除了忘记关闭断言造成的程序不稳定. 所以不用担心 在开...
    Crazy2015阅读 1,515评论 0 1
  • 1. NSAssert 断言(NSAssert)是一个宏,在开发过程中使用NSAssert可以及时发现程序中的问题...
    pro648阅读 6,524评论 0 4
  • 详细的内容介绍:http://www.jianshu.com/p/7cea580441d3 有些时候,我们仅仅想在...
    原味蛋炒饭阅读 168评论 0 0
  • NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属...
    小木___Boy阅读 43,053评论 5 103
  • 春风抚动水成纹,亦惹枝头花飞舞。鸽子乘风阵阵欢,儿童画春满芳甸。
    灰色的蓝调阅读 239评论 0 0