NSAssert的使用】的更多相关文章

NSAssert和assert是断言,主要的差别是assert在断言失败的时候只是简单的终止程序,而NSAssert会报告出错误信息并且打印出来.所以尽管的使用NSAssert,可以不去使用assert. iOS中用的最多的是两对断言, NSAssert/NSCAssert 和 NSParameterAssert/NSCparameterAssert. 要知道他们的区别,我们先来看看他们定义. #if !defined(NS_BLOCK_ASSERTIONS) #if !defined(_NSA…
NSAssert: NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并切可以自定义异常描述.NSAssert()是这样定义的: #define NSAssert(condition, desc) condition是条件表达式,值为YES或NO:desc为异常描述,通常为NSString.当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述…
断言(NSAssert)的使用 字数1055 阅读3270 评论3 喜欢30 NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述.NSAssert()是这样定义的: #define NSAssert(condition, desc) condition是条件表达式,值为YES或NO:desc为异常描述,通常为NSString.当conditon…
block和self的相互引用造成的循环引用,想必大家都是明白的.上下面的代码(截取部分) __weak typeof(self) weakSelf = self; self.jsBridgeFunctionDic = @{ JSBridgeCallNativePage: ^(NSDictionary *data){ NSLog(@"JSBridgeCallNativePage"); NSDictionary *params = [data dictionaryForKey:@&quo…
NSAssert的使用   苹果在foundation.framework中定义了这么一个宏: #define NSAssert(condition, desc, ...)   第一个参数为一个条件判断,如果为假,则抛出异常,显示第二个参数所描述的信息.   例如 NSAssert(2>=4.4, @"2>=4.4 is false!");   在debug模式下运行,会终止程序,并抛出如下异常: 2013-04-24 09:24:16.618 TestAssertion[…
//断言 - (void)NSAssert_Test:(NSString *)string{ NSAssert(string == nil, @"string == kong or nil"); } ----------------------------------------------------------------- //异常 - (void)NSException_Test{ _num++; NSException *excep = [[NSException alloc…
今天突然发现了一个开发ios程序时调试的好帮手-NSAssert()函数.而且和NSLog()函数一样简单易用,代码如下: NSAssert(x!=0,@"x must not be zero"); 在表达式"x!=0"不成立时,程序就会抛出异常,并显示自定义的消息"x must not be zero",并同时显示出错的文件.代码和调用函数等信息,是一个程序追踪的很好手段. 假设x!=0,不满足要求就提示reason-x must not be…
NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并切可以自定义异常描述.NSAssert()是这样定义的: #define NSAssert(condition, desc) condition是条件表达式,值为YES或NO:desc为异常描述,通常为NSString.当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息.NSAss…
NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并切可以自定义异常描述.NSAssert()是这样定义的: #define NSAssert(condition, desc) condition是条件表达式,值为YES或NO:desc为异常描述,通常为NSString.当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息.NSAs…
#define NSAssert(condition, desc, ...) 只有条件condition满足,才会执行下一个语句,否则输出断言错误. 例如: NSAssert(1 != 2, @"1怎么会等于2"); 当1等于2时,执行该程序就Xcode就会报错…