今天在练习使用聚合数据SDK时,发现从外面拖到项目的sdk文件夹是蓝色的,以前不是没有注意到文件夹有2个颜色,可都没太深入研究。今天心血来潮,就来研究一下它吧!
- 在我们引入第三方库或者使用某某SDK的时候一般都是直接将文件夹拖进工程中,并且会选择以Copy items if needed的方式把文件夹复制到工程中。
[/url][url=http://7xiz34.com1.z0.glb.clouddn.com/QQ20150527-3.png]- 我们第一眼看到的时候都没有思考它为什么是蓝色的,只要能用就行了。可是。。。好像用不了啊!明明已经引入文件了,为什么会报错呢?
[/url]- 原来要导入头文件的时候要导入全路径呀。可是这也太麻烦了吧!怎么办好呢?
[url=http://7xiz34.com1.z0.glb.clouddn.com/QQ20150527-4.png?imageView2/2/w/638/interlace/1]- 还记得刚才导入文件的时候copy items if needed选项下面还有选项可更改呢,试一试呗,反正试一试又不会怀孕。
[/url][url=http://7xiz34.com1.z0.glb.clouddn.com/QQ20150527-7.png]- 然后在看看文件中导入的方式,可以直接用类名,不再用全路径的方式了,美哉呀!
[url=http://7xiz34.com1.z0.glb.clouddn.com/QQ20150527-6.png][/url]- 可这到底是为什么呢?文件夹为什么会有蓝色的区别呢?客观别着急,切听我慢慢道来。
蓝色的是folder ,黄色的是group 。folder就是文件管理器中的文件夹的概念,而group是一个分组的概念,记得在工程中新建一个“文件夹”的时候是new group,而不是new folder吧!group 一般只在你的工程中是文件夹的形式,但是在本地的目录中还是以散乱的形式放在一起的,除非你是从外部以group的形式引用进来的。记得刚才在引入的时候更改选项为Create groups以后文件夹就变为黄色了吧。这样引用进来的文件夹,你到工程源文件夹里面观察,它已经被打散了,没有了层级慨念;而folder 只能作为资源,整个引用进项目,不能编译代码,也就是说,以folder形式引用进来的文件,不能被放在complie sources列表里面。只是拷贝到工程文件夹里面,不参与编译,还有文件夹的层级概念,所以导入头文件的时候就要写全路径了。
|