• 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中。

  • 相关阅读:
    2008年Web2.0峰会:发展是绝对的硬道理
    盖茨"接班人":微软产品为何总是挨批
    如何使用命令方式检测mx记录是否生效
    IBM公布未来5年将改变人类生活的五大科技
    谷歌李开复:我的传奇人生源于十句箴言
    VCL已死,RAD已死(3)
    VCL已死,RAD已死(2)
    主要程序设计语言范型综论与概要
    谷歌正式放弃与雅虎的广告合作计划
    模仿google分页代码
  • 原文地址:https://www.cnblogs.com/benpaobadaniu/p/4620835.html
Copyright © 2020-2023  润新知