博客
关于我
PCH文件设置以及常用的宏
阅读量:596 次
发布时间:2019-03-11

本文共 4752 字,大约阅读时间需要 15 分钟。

PCH ??? Xcode ????????

PCH ????? Pre-Compiled Header ???? Xcode ??????????????????????????????????????????????

1. PCH ????

PCH ???????????????????????????? Xcode 6 ???????????????????? PCH ?????????

2. ???? PCH ??

? Xcode ????? PCH ????????

  • ?? Xcode ????????????Supporting Files?????
  • ????????????
  • ?????? "Other" -> "PCH File"?
  • ?????? PCH ?????? .pch ???
  • ?????????? Xcode ????????
  • ? PCH ?????????????????????

    3. ?????

    ? PCH ??????????????? .m ???????????????????

    3.1 ???????

    #define SCREEN_WIDTH    [UIScreen mainScreen].bounds.size.width#define SCREEN_HEIGHT   [UIScreen mainScreen].bounds.size.height

    ????????????????

    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000#define SCREEN_WIDTH ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)] ? [UIScreen mainScreen].nativeBounds.size.width / [UIScreen mainScreen].nativeScale : [UIScreen mainScreen].bounds.size.width)#define SCREEN_HEIGHT ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)] ? [UIScreen mainScreen].nativeBounds.size.height / [UIScreen mainScreen].nativeScale : [UIScreen mainScreen].bounds.size.height)#define SCREEN_SIZE ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)] ? CGSizeMake([UIScreen mainScreen].nativeBounds.size.width / [UIScreen mainScreen].nativeScale, [UIScreen mainScreen].nativeBounds.size.height / [UIScreen mainScreen].nativeScale) : [UIScreen mainScreen].bounds.size)#else#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height#define SCREEN_SIZE [UIScreen mainScreen].bounds.size#endif

    3.2 ??????

    #define WMNotificationCenter [NSNotificationCenter defaultCenter]

    3.3 ??????

    #define WMRandomColor [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1.0]

    3.4 ?? RGB/RGBA ??

    #define WMRGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]#define WMRGBAColor(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:a]#define WMClearColor [UIColor clearColor]

    3.5 ?????

    #ifdef DEBUG#define LRLog(...) NSLog(@"%s ?%d? \n %@", __func__, __LINE__, [NSString stringWithFormat:__VA_ARGS__])#else#define LRLog(...)#endif

    3.6 ???????

    #define WMWeakSelf(type)  __weak typeof(type) weak##type = type;#define WMStrongSelf(type) __strong typeof(type) type = weak##type;

    3.7 ???????

    #define WMViewBorderRadius(View, Radius, Width, Color) \[View.layer setCornerRadius:Radius]; \[View.layer setMasksToBounds:YES]; \[View.layer setBorderWidth:Width]; \[View.layer setBorderColor:[Color CGColor]]

    3.8 ???????

    #define WMDegreesToRadian(x) (M_PI * x / 180.0)#define WMRadianToDegrees(radian) (radian * 180.0 / M_PI)

    3.9 ??????/????

    // ?????#define kGetViewWidth(view)  view.frame.size.width#define kGetViewHeight(view) view.frame.size.height#define kGetViewX(view)      view.frame.origin.x#define kGetViewY(view)      view.frame.origin.y#define kGetImage(imageName) [UIImage imageNamed:[NSString stringWithFormat:@"%@", imageName]]

    3.10 ARC ? MRC ??

    #if __has_feature(objc_arc)// ARC#else// MRC#endif

    3.11 ???????????

    // ????? iPhone#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)#define IS_IPHONE ([[UIDevice currentDevice] model] isEqualToString:@"iPhone")// ????? iPad#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)#define IS_IPAD ([[UIDevice currentDevice] model] isEqualToString:@"iPad")// ????? iPod#define IS_IPOD ([[UIDevice currentDevice] model] isEqualToString:@"iPod touch")// ????? iPhone 5SE#define iPhone5SE [[UIScreen mainScreen] bounds].size.width == 320.0f && [[UIScreen mainScreen] bounds].size.height == 568.0f// ????? iPhone 6/6s#define iPhone6_6s [[UIScreen mainScreen] bounds].size.width == 375.0f && [[UIScreen mainScreen] bounds].size.height == 667.0f// ????? iPhone 6Plus/6sPlus#define iPhone6Plus_6sPlus [[UIScreen mainScreen] bounds].size.width == 414.0f && [[UIScreen mainScreen] bounds].size.height == 736.0f// ??????#define IOS_SYSTEM_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]#define IOS_SYSTEM_STRING [[UIDevice currentDevice] systemVersion]// ?? iOS 8 ?????#define IOS_VERSION_8_OR_LATER (([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) ? (YES) : (NO))

    3.12 ????????

    // ????? iOS ??#if TARGET_OS_IPHONE# endif// ????????#if (TARGET_IPHONE_SIMULATOR)# else# endif

    3.13 ??????

    // ?? temp ??#define kPathTemp NSTemporaryDirectory()// ???? Document ??#define kPathDocument [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]// ???? Cache ??#define kPathCache [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]

    ????????????????????????????

    转载地址:http://lzxtz.baihongyu.com/

    你可能感兴趣的文章
    Navicate for mysql 数据库设计-数据库分析
    查看>>
    Navicat下载和破解以及使用
    查看>>
    Navicat中怎样将SQLServer的表复制到MySql中
    查看>>
    navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
    查看>>
    Navicat可视化界面导入SQL文件生成数据库表
    查看>>
    Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
    查看>>
    Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
    查看>>
    Navicat如何连接MySQL
    查看>>
    navicat导入.sql文件出错2006- MySQLserver has gone away
    查看>>
    Navicat导入海量Excel数据到数据库(简易介绍)
    查看>>
    Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
    查看>>
    navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
    查看>>
    navicat怎么导出和导入数据表
    查看>>
    Navicat报错connection is being used
    查看>>
    Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
    查看>>
    Navicat控制mysql用户权限
    查看>>
    navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
    查看>>
    Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
    查看>>
    Navicat连接mysql数据库中出现的所有问题解决方案(全)
    查看>>
    Navicat连接Oracle出现Oracle library is not loaded的解决方法
    查看>>