码迷,mamicode.com
首页 > 其他好文 > 详细

NSAssert的使用

时间:2016-06-14 15:35:25      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:

苹果在foundation.framework中定义了这么一个宏:
#define NSAssert(condition, desc, ...)
 

NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并切可以自定义异常描述。NSAssert()是这样定义的:

#define NSAssert(condition, desc)

condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息。NSAssert()可以出现在程序的任何一个位置。

第一个参数为一个条件判断,如果为假,则抛出异常,显示第二个参数所描述的信息。
 
例如
NSAssert(2>=4.4, @"2>=4.4 is false!");
 
在debug模式下运行,会终止程序,并抛出如下异常:
2016-06-14 09:24:16.618 TestAssertion[825:c07] *** Terminating app due to uncaught exception ‘NSInternalInconsistencyException‘, reason: ‘2>=4.4 is false!‘
2016-06-14 13:58:25.132 DemoForXIB[13512:1550607] *** Assertion failure in -[ViewController click:], /Users/mac/Desktop/DemoForXIB/DemoForXIB/ViewController.m:123
在release模式下运行,不终止程序不抛出异常。
这样方便调试程序。

NSAssert的使用

标签:

原文地址:http://www.cnblogs.com/yujinzhong/p/5583923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!