zoukankan      html  css  js  c++  java
  • 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:@"
    
    Debug时一些系统预留定义词的用法如下:
    "];
     8     [mStrInfo appendFormat:@"__func__: %s
    ", __func__];
     9     [mStrInfo appendFormat:@"__PRETTY_FUNCTION__: %s
    ", __PRETTY_FUNCTION__];
    10     [mStrInfo appendFormat:@"__LINE__: %d
    ", __LINE__];
    11     [mStrInfo appendFormat:@"__FILE__: %s
    ", __FILE__];
    12     
    13     [mStrInfo appendString:@"
    
    Debug时一些Core Foundation方法的用法如下:
    "];
    14     [mStrInfo appendFormat:@"NSStringFromSelector(_cmd): %@
    ", NSStringFromSelector(_cmd)];
    15     [mStrInfo appendFormat:@"NSStringFromClass([self class]): %@
    ", NSStringFromClass([self class])];
    16     [mStrInfo appendFormat:@"[[NSString stringWithUTF8String:__FILE__] lastPathComponent]: %@
    ", [[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
  • 相关阅读:
    1、数据加密基础
    cookie——小甜品
    使用SpringBoot开发REST服务
    从编辑距离、BK树到文本纠错
    360影视视频下载
    从Trie树到双数组Trie树
    使用websocket-sharp来创建c#版本的websocket服务
    OFFICE 文档转换为html在线预览
    IDEA+PHP+XDebug调试配置
    HTML5录音控件
  • 原文地址:https://www.cnblogs.com/huangjianwu/p/4590365.html
Copyright © 2011-2022 走看看