一、项目中的常见文件:
1.Texts文件夹:单元测试2.Frameworks:依赖的框架3.Info.plist:项目配置文件,PPT演示
•为什么要搞个配置文件,保存应用的信息,软件名称等等,相当于身份证。程序加载首先加载配置文件,读取软件名称等信息。
3.1> Bundle display name:项目名称
3.2> Bundle identifier:项目的唯一标识
3.3> Bundle version:项目版本4.Info.plist对应xcode的project的图形界面,改图形界面的东西,就会改变Info.plist。
比如方向等
5.pch文件:也是一个头文件,能被项目中的其他所有源文件共享和访问。PPT演示
○为什么要搞个pch文件,提需求,如果一个宏,很多文件都需要用
到,怎么解决,搞个公用的头文件,同时导入这个头文件。
5.1pch作用:
1>放一些全局的宏
2>导入一些全局都需要的头文件,一般开发中放工具类的头文件,或者分类头文件等。
3>管理日志输出
为什么要管理日志输出,因为日志输出非常耗性能,一般发
布的时候不需要日志输出,只有调试的时候才需要。5.2通常开发中弄一个自己的日志输出,不要系统自带的NSLog
#defineCZLog(...) NSLog(__VA_ARGS__)
...表示能接收任何参数
__VA_ARGS__ 表示左边...的参数会替代到右边NSLog中。
1> 如果不想打印了,直接注释后边的#define CZLog(...)//NSLog(__VA_ARGS__)
2> 还可以通过一个宏进行条件编译,在调试阶段,xcode会自动定
义一个DEBUG宏,利用这个宏,就能进行条件编译.
5.3在pch写的有关OC的东西,最好放在#ifdef __OBJC__,Xcode在每个OC文
件中都定义了这个宏,也就意味着只有OC中的文件才拥有这些宏,避免
5.3在pch写的有关OC的东西,最好放在#ifdef __OBJC__,Xcode在每个OC文
件中都定义了这个宏,也就意味着只有OC中的文件才拥有这些宏,避免
项目中有C文件的时候,报错。
5.4如果在c文件中,使用#import,就会报错,因为c文件不能识别#import,
只有OC文件才能识别。在pch中的东西能被项目中的所有文件共享,c文
件共享#import就报错。
二、自己在编写程序的时候,遇到BUG是如何解决的?用了哪些解决方法?
1> 有效的Log;Log一些重要的事件
2> 全局断点:
3> 条件断点:
4> 控制台进行手动打印:po
5> 跟踪对象的生命周期;跟踪数据传递的过程
6> 分析层级结构
7> Enable NSZombie Objects(开启僵尸对象):开启僵尸对象,首先打开“Edit Scheme”,然后选择Diagnostics选项卡,勾选Enable NSZombie Objects选项。
8> 静态分析(Analyze内存泄漏分析)和动态分析()