美文网首页
iOS开发常用的宏

iOS开发常用的宏

作者: LennonLin | 来源:发表于2016-07-22 15:25 被阅读30次
  • 很久没写了,今天一下子看到一个人关注小小的激动一下

适配屏幕尺寸的宏

  • 根据不同的iPhone尺寸宽高来设置大小,UI常常用iPhone6来设置尺寸,为了适配定义的宏:
#ifndef W_H_
#define W_H_
#define  SCREENWIDTH ([UIScreen mainScreen].bounds.size.width)
#define  SCREENHEIGHT ([UIScreen mainScreen].bounds.size.height)

// 依照iPhone6的尺寸设计
#define GETPIXEL (SCREENWIDTH / 375)
#define AUTOLAYOUTSIZE(size) (size * GETPIXEL)

#endif
  • 解释: 做成了代码块和加了宏保护,根据iPhone手机的尺寸显示按比例来的尺寸

RGB

  • UI给我们的常常是RGB颜色,所以需要我们转换一下:
#define RGBCOLOR(R, G, B, A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]

宏打印

  • 显示类名,行号,不然常常不知道自己的打印在哪里:
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d  \t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
  • 解释: fprintf是C/C++的一个格式化库函数,fprintf()函数根据指定的format发送参数到stream(流)指定的文件,fprintf()只能和printf()一样工作,fprintf()的返回值是输出的字符数,发送错误时返回一个负值
  • FILF: 当前文件夹的路径,取lastPathComponent最后一个组件就成了类名
  • LINE: 当前运行的代码的行号数字
  • VA_ARGC(variadic macros): 可变参数宏,让宏NSLog可以接收多个参数

因为markdown的原因__打不出来,大家注意一下咯

Debug打印,Release不打印:

// 在 "Target > Build Settings > Preprocessor Macros > Debug" 里有一个"DEBUG=1"。
//设置为Debug模式下,Product-->Scheme-->SchemeEdit Scheme设置Build Configuration成Debug时,就可以打印nslog了。设置Release,发布app版本的时候就不会打印了,提高了性能
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d  \t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#define debugMethod() NSLog(@"%s", __func__)
#else
#define NSLog(...)
#define debugMethod()
#endif

相关文章

  • iOS开发中常用的宏

    以下为iOS开发中常用宏: 引用:ios开发常用的宏,大家一起来收集 参考:ios开发常用的宏,大家一起来收集~

  • iOS开发常用的工具类和宏定义

    iOS开发常用的工具类和宏定义 开发总结的工具类和宏 https://github.com/xiaoChen66...

  • iOS 常用宏定义

    iOS 开发中使用一些常用宏定义可以大大提高开发效率,提高代码的重用性.以下是一些常用的宏定义: 像这些宏定义,在...

  • iOS开发中常用到的宏

    大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏。

  • 开发常用宏 - iOS

    开发中很多常用的方法会在很多地方被多次使用到,因此为了提升开发效率,特此将其配置为宏,从而使用起来更加得心应手,以...

  • iOS开发常用宏

    Debug与Release 自定义NSLog 屏幕宽度 颜色设置 沙盒路径

  • iOS开发常用宏

    设备 系统 设置Debug模式下打印log,release模式下不打印 颜色 字体大小(常规/粗体) 常用方法 单例

  • ios开发常用宏

    /** 屏幕宽度 */ #define eDeviceWidth [UIScreen mainScreen].bo...

  • iOS 开发常用宏

    引子: 今天一个前辈解决了我纠结了很久的问题,具体点说就是怎么在cell里面获取父视图的navigationCon...

  • iOS开发常用宏

    //字符串是否为空#define kStringIsEmpty(str) ([str isKindOfClass:...

网友评论

      本文标题:iOS开发常用的宏

      本文链接:https://www.haomeiwen.com/subject/glyijttx.html