由于我们现在写的内容,代码量不是很大, 而且, 我也算是比较懒, 所以,图片用的还是以前写的时候OC的老图片
1.info.plist文件和PCH文件
现在我们的info.plist文件还可以找的到,
只是我们的PCH文件许我我手动添加
info.plist 我们的这个info.plist文件是以我们文件名-Info.plist文件命名的
注意: 上面的截图中有一处错误:
就是我们的程序名称是我们的Bundle name 而不是Bundle display name
2.PCH文件
2.1pch文件创建
首先, 我们先在我们程序中导入我们的PCH文件, 然后我们再介绍它的功能:
当然他的命名和我们info.plist文件命名类似
也是一总的工程文件名开头现在说一说她有哪些功能
试想一下, 当我们在做大的工程的时候,
我们可能多次用到:UIScreen.mainScreen().bounds.size.height
对吧, 我们一般会怎么做, 就是定义一个宏嘛,
但是如果我们有很多的文件都需要用这个
我们是不是在每一个文件里面都定义一个宏, 这个时候 , 我们就可以用到pch文件了
pch文件的第一个功能就是他会将自己文件里面的所有的代码在编译前, 放到每一个文件中:
#define screenH UIScreen.mainScreen().bounds.size.height
#define screenW UIScreen.mainScreen().bounds.size.width
我们在pch文件中写上这么一句代码, 就代表着, 我们在所有的文件中都写了这么一句代码
2.2 配置PCH文件
用他的另一个好处就是我们可以将一些公用文件文件的头文件写到 我们的pch文件里面
但是: 就如上面所说的, 我们要要求系统提前编译我们的pch文件
所以我们就需要这么做
2.2.1第一步: 找到和下图一样的界面(红框框是帮助寻找的)
2.2.2第二步:配置路径
2.2.3填写路径小技巧
从蓝色工程文件开始往下数,看总共有几层.有几层在路径里就配置几层
点击我们的pch文件:
找到两层就好了
下面中共有两层
2.3 自定义Log
我们在调试代码的时候, 我们会有许多的调试代码:
就是很多的打印, 在我们的程序上传之前,我们需要一个个找然后注释掉, 这样很麻烦,
只要我们在pch文件中写上这么一句:
#define GJLog(…) NSLog(__VA_ARGS__)
以后我们在写代码调试的时候, 只需要在任意地方写上GJLog(…);
就可以完成打如果想注释掉打印的代码只需要这样做;
#define GJLog(…) // NSLog(__VA_ARGS__)
这样就可以完成以前很麻烦的事了
还有就是在我们的程序中很有可能混入其他语言写的代码
那么这样我们的pch还是继续在所有的文件中导入的话, 会报错的,
因为在便宜时会把PCH文件当中所有的内容给导入工程的所有文件当中.
所以, 我们可以利用这种写法:
在OC文件内容会自动隐式定义一__OBJC__的宏
判断只有当是OC文件时,才须要导入内容.
#ifdef __OBJC__
#define screenH [UIScreen mainScreen].bounds.size.height
#define screenW [UIScreen mainScreen].bounds.size.width
#endif