美文网首页
常用的PCH

常用的PCH

作者: reloadRen | 来源:发表于2017-01-13 16:17 被阅读1050次

常用的PCH

  • pch头文件的内容能被项目中的其他所有源文件共享和访问

** 注意: PCH文件的特点, 项目中的所有其他代码文件无需显示导入该PCH文件, 默认就都可以访问(其他文件无需手动#import该 pch文件就能使用)。

  • 一般在pch文件中定义一些全局的宏
  • 在pch文件中添加下列预处理指令,然后在项目中使用Log(…)来输出日志信息,就可以在发布应用的时候,一次性将NSLog语句移除(在调试模式下,才有定义DEBUG)
#ifdef __OBJC__
// 自定义控制台打印
#ifdef DEBUG
#define RZLog(...) NSLog(__VA_ARGS__)
#else
#define RZlog(...)
#endif

#define kScreenSize [UIScreen mainScreen].bounds
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
#define kScreenHeight [UIScreen mainScreen].bounds.size.height

#endif

修改加载pch地址

  1. 选中项目 -> Build Setting -> All -> 搜索"prefix head" -> 修改Prefix Header的内容为:
    • $(SRCROOT)/$(PRODUCT_NAME)/PrefixHeader.pch (如果有问题,换下面的方式,可能会与中文有关)
    • $(SRCROOT)/对应的文件夹名/PrefixHeader.pch

工具类的宏

#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define DLog(...)
#endif

#ifdef DEBUG
#define ULog(...)
//#define ULog(fmt, ...)  { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%s\n [Line %d] ", __PRETTY_FUNCTION__, __LINE__] message:[NSString stringWithFormat:fmt, ##__VA_ARGS__]  delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; }
#else
#define ULog(...)
#endif


//System version utils

#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)


// 获取RGB颜色
#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
#define RGB(r,g,b) RGBA(r,g,b,1.0f)


#define IsPortrait ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait || [UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)


#define IsNilOrNull(_ref)   (((_ref) == nil) || ([(_ref) isEqual:[NSNull null]]))


//角度转弧度
#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)

//大于等于7.0的ios版本
#define iOS7_OR_LATER SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")

//大于等于8.0的ios版本
#define iOS8_OR_LATER SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")

//iOS6时,导航VC中view的起始高度
#define YH_HEIGHT (iOS7_OR_LATER ? 64:0)

//获取系统时间戳
#define getCurentTime [NSString stringWithFormat:@"%ld", (long)[[NSDate date] timeIntervalSince1970]]

相关文章

  • 新学了 iOS中如何使用PCH文件修改其相对路径

    1、个人对PCH 的理解:PCH 文件是针对一些宏定义的,常用的变量的定义或常用到的类,只要在PCH 中定义的变量...

  • iOS中使用PCH文件、修改其相对路径

    1.部分理解:个人对PCH 的理解:PCH 文件是针对一些宏定义的,常用的变量的定义或常用到的类,只要在PCH 中...

  • 常用的PCH

    常用的PCH pch头文件的内容能被项目中的其他所有源文件共享和访问 ** 注意: PCH文件的特点, 项目中的所...

  • iOS pch文件配置

    首先pch文件是什么? 预编译头文件的拓展名是.pch,所以又称为pch文件,该文件在项目工程中主要作用于将较常用...

  • iOS开发--PCH文件的使用

    关于pch文件的使用 pch文件在工程中经常用到,首先先介绍下pch文件的作用:1.存放一些全局的宏(整个项目中都...

  • 常用PCH文件

    愿编程让这个世界更美好

  • pch文件

    pch文件可用于在倒入常用文件,避免在不同的文件中手动导入,在Xcode6之后苹果去掉了pch文件,不过我们编程的...

  • PCH文件

    pch文件可用于在倒入常用文件,避免在不同的文件中手动导入,在Xcode6之后苹果去掉了pch文件,不过我们编程的...

  • 常用的PCH文件文件

  • ios pch 文件笔记

    文件作用 pch后缀文件主要是解决某一个常用文件需要频繁在不同的类中使用而需要经常导入的问题,使用了pch文件之后...

网友评论

      本文标题:常用的PCH

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