zoukankan      html  css  js  c++  java
  • OC中控制台日志打印

    •  OC中Debug版本常用的打印格式化操作

     
    %@ 对象
     
    %d,%i 整型 (%i的老写法)
     
    %hd 短整型
     
    %ld , %lld 长整型
     
    %u 无符整型
     
    %f 浮点型和double型
     
    %0.2f 精度浮点数,只保留两位小数
     
    %o 八进制
     
    %zu size_t
     
    %p 指针地址
     
    %e float/double (科学计算)
     
    %g float/double (科学技术法)
     
    %x:    为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,小写a-f;
     
    %X:    为32位的无符号整型数(unsigned int),打印使用数字0-9的十六进制,大写A-F;
     
    %s char *  字符串
     
    %.*s Pascal字符串
     
    %c char 字符
     
    %C unichar
     
    %Lf 64位double
     
    %lu sizeof(i)内存中所占字节数
     
    打印CGRect : NSLog(@"%@",NSStringFromCGRect(someCGRect)); 或者CFShow(NSStringFromCGRect(someCGRect));
     
    打印CGSize: NSLog(@"%@",NSStringFromCGSize(someCG Size ));
     
    • 字符串格式化处理举例

     
    如题所述:如何将字符串转化成浮点型,且精确度为小数点后12位
     
    例如:字符串@“121.12343434343421”
     
    解决办法:
     
    [NSString stringWithFormat:@"%.12f",[str floatValue]];
     
    将字符串转化为数字,且保留小数点后的12位数
     
    double tt = [[NSString stringWithFormat:@"%.12f",[@"121.12343434343421" doubleValue]]doubleValue];
     
    NSLog(@"%f",tt);
     
    elf.student.age = @([self.ageTF.text intValue]);
     
    学生的年龄是一个nsnumber 类型 ,将NSString 类型转化为对应的类型。
     
    •  宏文件的打印

    // 以release模式编译的程序不会用NSLog输出,而以debug模式编译的程序将执行NSLog的全部功能。

    #ifndef __OPTIMIZE__
    # define NSLog(...) NSLog(__VA_ARGS__)
    #else
    # define NSLog(...)
    #endif

    #ifdef __OPTIMIZE__
    #define NSLog(...) 
    #endif

      这个代码的魔术在于:release模式通常会定义 __OPTIMIZE__,debug模式不会。

      将这段代码放在头文件当中,就可以放心的使用NSLog了!

      把这些代码放到*Prefix.pch中最省事。可以把这段宏定义放到一个头文件中,再把这个头文件包含到*Prefix.pch中。

  • 相关阅读:
    论自己电脑如何搭建服务器
    nodejs + express + art-template + mongodb简单项目
    npm和yarn使用
    Linux内核编译
    Linux 网络编程
    Linux进程管理
    LeetCode1576. 替换所有的问号
    LeetCode392. 判断子序列
    LeetCode674. 最长连续递增序列
    剑指 Offer 48. 最长不含重复字符的子字符串
  • 原文地址:https://www.cnblogs.com/benpaobadaniu/p/4620835.html
Copyright © 2011-2022 走看看