iOS预编译文件设置以及常用宏记录

2018-12-7 王建伟 iOS开发

创建一个iOS工程的时候,为了方便,我们一般会设置大量的宏,宏我们一般会写在一个.pch文件中,然后我们需要将.pch文件的路径在工程中设置一下,以达到预编译的作用

方法一:

在Finder中找到pch文件后,直接拖到这里:Build Settings ->Apple LLVM7.0 - Language -> Prefix Header。这样设置的话,就将pch文件的位置固定了,如果将工程换个位置,就找不到pch文件了

方法二:

在Finder中找到pch文件后,直接拖到这里,别停下,还没有结束,将前面的内容删除,只留下pch名字,还有上一层的名字,然后在最前面加上$(SRCROOT),然后就结束了

例子:$(SRCROOT)/ruanjian/PrefixHeader.pch

这样的好处就是,不管你把工程移动到哪里,都可以找到pch文件

下面是一些工程中常用的宏整理:

1.屏幕宽度 #define SPScreen_W [UIScreen mainScreen].bounds.size.width

2.屏幕高度 #define SPScreen_H [UIScreen mainScreen].bounds.size.height

3.导航栏高度 #define TOP_H (SPScreen_H == 812.0?44.0f:20.0f)

4.颜色RGB #define SPRGBColor(R,G,B,A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]

5.控件位置 #define SPFrame(X,Y,W,H) CGRectMake(X,Y,W,H)

6.参照元素底部位置 #define SPGetMaxY(view) CGRectMaxY(view.frame)

7.参照元素宽度位置 #define SPGetMaxX(view.frame)

8.参照元素宽 #define SPGetWidth(view) view.frame.size.width

9.参照元素高 #define SPGetHeight(view) view.frame.size.height

10.点位置 #define SPPoint(X,y) CGPointMake(X,Y)

11.AppDelegate单例 #define SPAppDelegate ((AppDelegate*)[UIApplication sharedApplication].delegate)

12.NSUserDefaults存储数据 #define SPSetDefaults(value,key) [[NSUserDefaults standardUserDefaults] setObject:value forKey:key]

13.NSUserDefaults读取数据 #define SPReadDefaults(key) [[NSUserDefaults standardUserDefaults] objectForKey:key]

14.沙盒地址 #define SPDefaultPath NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDOmainMask,YES)[0]

15.block弱引用 #define SPSelf __weak typeof(self) weakSelf = self

16.字体大小设置 #define SPFont(n) [UIFont systemFontOfSize:n]

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved