美文网首页iOS 开发 iOS DeveloperiOS,object-c和swift开发
ios拓展3-断言NSAssert()调试程序中的Bug

ios拓展3-断言NSAssert()调试程序中的Bug

作者: Abler | 来源:发表于2016-07-11 00:03 被阅读86次

NSAssert()是一个宏,用于开发阶段调试程序中的Bug.

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

具体事例如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self assert:@"a"];
}
- (void)assert:(NSString *)str {
    
    NSAssert(str, @"str is nil");

    if (str) {
        NSLog(@"%@",str);
    }else{
        NSLog(@"error");
    }
}
[self assert:@"a"]; 调用

如果调用如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self assert:nil];
}
程序会直接报错,
tips: 我更喜欢 断点po 或者 直接 NSLog,  看到抛出异常很难受

相关文章

  • ios拓展3-断言NSAssert()调试程序中的Bug

    NSAssert()是一个宏,用于开发阶段调试程序中的Bug. 具体事例如下: 如果调用如下:

  • 断言

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

  • iOS断言(NSAssert)的用法

    NSAssert()介绍 NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()...

  • 使用NSAssert()和NSParameterAssert调试

    NSAssert: NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递...

  • AVPlayer相关笔记

    1.NSAssert NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递...

  • 关于NSAssert

    基本概念: NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式...

  • iOS开发NSAssert使用

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

  • NSAssert()和NSParameterAssert()的使

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

  • NSAssert()

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

  • ios 中断言的使用

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

网友评论

    本文标题:ios拓展3-断言NSAssert()调试程序中的Bug

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