https://blog.csdn.net/a_horse/article/details/84069640
85_iOS干货44_#import引号和尖括号的区别 + xcode中黄色和蓝色文件夹的区别
一,#import引号和尖括号的区别
1,#include命令
#include是C/C++的预处理指令(Preprocessor Directive),主要作用是把头文件引入到任意源文件中,在预处理阶段,被包含的文件在源文件的指令地点进行整体替换
2,尖括号:
#include<path-spec> // Angle bracket form
查找路径:从系统配置的头文件路径去找
系统的头文件目录:有frame search path和Header search path去找,配置如下
如果,尖括号内仍然报错,请设置编译器为:legacy build system
3,双引号:
#include"path-spec" // Quoted form
查找顺序:从当前项目路径开始寻找文件,如果找不到,则到系统(项目)中配置的头文件路径去找
4,总结:
如果是自定义的头文件,必须使用双引号,否则会找不到头文件,出现编译错误;
如果是系统文件或者第三方SDK,可以用双引号,也可以用尖括号,但使用双引号会降低搜索效率,而且存在一定风险,当自定义头文件和系统头文件重名时,会把自定义文件作为搜索结果,比如我们自己写一个stdio.h,使用#include"stdio.h",不会得到系统库的调用
所以系统文件或者第三方SDK(直接frame引入或者pod引入的配置路径不同),但尽量用尖括号import
二,xcode中黄色和蓝色文件夹的区别
1,黄色文件夹,就是group
逻辑文件夹,工程中文件夹的形式
本地目录中,有可能实际没有这个文件夹,里边文件的层级是乱的
参与项目编译
2,蓝色文件夹,就是folder
本地目录中实际的文件夹
不参与编译
多为资源文件目录,例如图片文件等
3,文件夹的引用
目录中新建
newGroup:新建逻辑文件夹group,同时也在本地目录中新建实际文件夹folder
newGroupWithoutFolder:只是新建逻辑文件夹group,不创建folder
外部拖入
引用蓝色文件夹:外部实际
创建黄色文件夹:
版权声明:本文为博主原创文章,转载请附上博文链接!