Objective-C 语法之 Debug 表达式

main.m

 1 #import <Foundation/Foundation.h>
 2 #import "TestClass.h"
 3 
 4 int main(int argc, const char * argv[]) {
 5     @autoreleasepool {
 6         NSString *purposeInfo = @"拿到的信息不仅在Debug中有用,而且在selector的传递也很有用";
 7         [TestClass testDebugKeyword:purposeInfo];
 8     }
 9     return 0;
10 }

TestClass.h

1 #import <Foundation/Foundation.h>
2 
3 @interface TestClass : NSObject
4 + (void)testDebugKeyword:(NSString *)purposeInfo;
5 
6 @end

TestClass.m

 1 #import "TestClass.h"
 2 
 3 @implementation TestClass
 4 
 5 + (void)testDebugKeyword:(NSString *)purposeInfo {
 6     NSMutableString *mStrInfo = [[NSMutableString alloc] initWithString:purposeInfo];
 7     [mStrInfo appendString:@"\n\nDebug时一些系统预留定义词的用法如下:\n"];
 8     [mStrInfo appendFormat:@"__func__: %s\n", __func__];
 9     [mStrInfo appendFormat:@"__PRETTY_FUNCTION__: %s\n", __PRETTY_FUNCTION__];
10     [mStrInfo appendFormat:@"__LINE__: %d\n", __LINE__];
11     [mStrInfo appendFormat:@"__FILE__: %s\n", __FILE__];
12     
13     [mStrInfo appendString:@"\n\nDebug时一些Core Foundation方法的用法如下:\n"];
14     [mStrInfo appendFormat:@"NSStringFromSelector(_cmd): %@\n", NSStringFromSelector(_cmd)];
15     [mStrInfo appendFormat:@"NSStringFromClass([self class]): %@\n", NSStringFromClass([self class])];
16     [mStrInfo appendFormat:@"[[NSString stringWithUTF8String:__FILE__] lastPathComponent]: %@\n", [[NSString stringWithUTF8String:__FILE__] lastPathComponent]];
17     
18     NSLog(@"%@", mStrInfo);
19 }
20 
21 @end

 

结果:

 1 2015-06-20 11:07:16.353 OCDebugKeyword[465:18859] 拿到的信息不仅在Debug中有用,而且在selector的传递也很有用
 2 
 3 Debug时一些系统预留定义词的用法如下:
 4 __func__: +[TestClass testDebugKeyword:]
 5 __PRETTY_FUNCTION__: +[TestClass testDebugKeyword:]
 6 __LINE__: 18
 7 __FILE__: /Users/Kenmu/Documents/iOSDevelopment/OCDebugKeyword/OCDebugKeyword/TestClass.m
 8 
 9 
10 Debug时一些Core Foundation方法的用法如下:
11 NSStringFromSelector(_cmd): testDebugKeyword:
12 NSStringFromClass([self class]): TestClass
13 [[NSString stringWithUTF8String:__FILE__] lastPathComponent]: TestClass.m

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值