首页 > 其他 > 详细

OC中的Debug表达式

时间:2015-10-15 20:31:32      阅读:323      评论:0      收藏:0      [点我收藏+]

有程序的地方就有bug,有bug的地方就需要debug。对于程序员来说,coding的过程便是制造bug和解决bug。Objective定义了不少表达式来协助debug的流程,将这些表达式用在NSLog中,可以简化部分工作,快速定义到debug的部分。 比如以下代码

- (id)initWithCoder:(NSCoder *)aDecoder

{

    if (self = [super init]) {

        

        NSLog(@"\n function: %s\n Pretty function: %s\n line: %d\n file: %s\n", __func__,__FUNCTION__,__LINE__,__FILE__);

    }

       return self;

}

运行结果如图:

技术分享

__func____PRETTY_FUNCTION____LINE____FILE__等都是系统预留的定义词,简单易用

 

另外有一些Core Foundation的方法可以从CFString的层级拿到一些有用的字符串,包括且不限于selector,class,protocol等,参考下面的代码:

- (id)initWithCoder:(NSCoder *)aDecoder

{

    if (self = [super init])

    {

        

//        NSLog(@"\n function: %s\n Pretty function: %s\n line: %d\n file: %s\n", __func__,__FUNCTION__,__LINE__,__FILE__);

        

        NSLog(@"Current selector: %@",NSStringFromSelector(_cmd));

        NSLog(@"Object class: %@",NSStringFromClass(self.class));

        NSLog(@"Filename: %@",[[NSString stringWithUTF8String:__FILE__] lastPathComponent]);

    }

    

    return self;

}

 

运行结果如图:

技术分享

 

拿到了相关的字符串,其实这并不仅在调试中有用,在进行selector的传递时也很好用~

 

 

OC中的Debug表达式

原文:http://www.cnblogs.com/fantasy3588/p/4883223.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!