IOS pch的添加

iOS以前的pch是系统的自带,后来苹果取消了pch,我一直很反感加的。最近不知道脑子犯抽了。就加上了。不喜欢加,因为我希望自己的代码发给别人,别人随时随地可以运行,不用改错误的警告。

反思了一下,因为好多人都加了,,网上的博客也各种有怎么添加,可是都没有分析为啥加,只是给出了添加的方法。尤其做程序,一定要知道为啥这样做,不可以稀里糊涂的。可以暂时不管,后期一定要管。因为自己每写一步的代码都代表着利益。

pch的好处

1.方便重复添加的库

2.头文件

3.公共的文件

4.名字(通知的名字。

[NSUserDefaults standardUserDefaults]的key

第三方的key,及id

4.全局的变量。(颜色。字体大小,线条,等)

5.log的输出(debug,release)

6.宏(屏幕的宽高,导航条的高度,这些,等)

一般这些都是放在pch头文件中的

坏处:1.既然苹果都把他去掉。肯定有他的坏处

2.消耗编译的效率。每次加载都要全部加载,肯定消耗运行的效率,不过很小,一般肉眼几乎分辨不出来的

3.发给别人,容易找不到地址,每次都要自己去配置

4.放在头文件中的,容易搞混。有些页面用到,不知道为啥可以调用这个方法,明明自己没有声明。却可以调用。容易产生误导

5.每次新建一个项目,都要自己手动去加

6.肯定还有其他。这些等遇到的时候才知道

时间: 2024-10-13 22:45:55

IOS pch的添加的相关文章

iOS: 学习笔记, 添加一个带界面约束的控制器

1. 创建一个空iOS应用程序(Empty Application). 2. 添加加控制器类. 修改控制器类的viewDidLoad 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 //创建标题 5 UILabel *header = [[UILabel alloc] init]; 6 header.text = @"欢迎来到我的世界!"; 7 header.textAlignment = NSTextAlignmentCenter

iOS 运行时添加属性和方法

原文链接http://blog.csdn.net/meegomeego/article/details/18356169第一种:runtime.h里的方法 BOOL class_addProperty(Class cls,constchar*name,constobjc_property_attribute_t*attributes,unsignedint attributeCount) #include <objc/runtime.h> #import <Foundation/Foun

如何在iOS开发中添加新的字体

iOS 开发默认字体是 Heiti SC ,即我们常用的「黑体-简」 用过一段时间后,就会发现字体过于单调了 ,那么怎么在iOS开发中添加新的字体呢 ,这里教你两种方法. 1.使用系统自带的字体 搜索fonts,不难发现,系统中是有不少字体的,而这些字体也是都是可以使用的. 这些字体只用时可以通过代码来设置,也可以直接来设置,方法很简单: 将text的属性设置为Attributed,再选择自己想要的系统字体就OK啦 2.使用自己从网上下载的字体 首先从网上下载自己喜欢的字体,将下载好的字体拖入当

李洪强iOS开发之添加手势

李洪强iOS开发之添加手势 02 - 添加手势

iOS项目工程添加.a文件遇到的Dsymutil Error

将.a文件加入工程,很多教程讲的都是: 右键选择Add->Existing Files…,选择.a文件和相应的.h头文件.或者将这两个文件拖入XCode工程目录结构中,在弹出的界面中勾选Copy items into destination group's folder(if needed), 并确保Add To Targets勾选相应的target. 但实际上却没有那么顺利.添加过几次.a文件都遇到了麻烦,今天再次遇到—— ld: warning: directory not found fo

iOS .pch文件的使用

什么是.pch文件预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码. 我自己的理解就是 这个.pch文件的作用就是 在这里定义一些东西之后可以在整个工程内的任何一个文件中使用在.pch文件中定义的东西 并且不用导入任何的头文件 我的做法: 1.首先呢我会先添加一个.h文件 用来写宏定义如图: 创建

IOS 为UILabel添加长按复制功能

IOS 为UILabel添加长按复制功能 在iOS中下面三个控件,自身就有复制-粘贴的功能: 1.UITextView 2.UITextField 3.UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程序中实现剪贴板的功能. 1.UIPasteboard:我们可以向其中写入数据,也可以读取数据 2.UIMenuController:显示一个快捷菜单,用来展示复制.剪贴.粘贴等选择的项. 3.UIResponder中的 canPerformAction:wi

在iOS App 中添加启动画面

你可以认为你需要为启动画面编写代码,然而Apple 让你可以非常简单地在Xcode中完成.不需要编写代码,你仅需要在Xcode中进行一些配置. 1.什么是启动画面(Splash Screen)? 启动画面是你在启动App的时候看到的第一个界面,通常,启动画面是覆盖整个屏幕的一张图片,在主屏幕装在完后隐藏. 启动画面的主要目的是让用户知道你的App正在装载,并且对用户介绍你的品牌.启动画面对哪些需要较长时间启动的Apps尤其重要.一般而言,启动画面是为了给用户更好的体验. 2.在你的App中添加启

iOS 自己手动添加编译警告

文/青花瓷的平方(简书作者)原文链接:http://www.jianshu.com/p/b2e30cad2a0d著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 缘由 上一次生产环境我们出现重大bug,因ApplePay上线,其中有一个宏文件我同事忘记加版本控制,测试也没测试(因为是小版本,applepay还未开放),导致线上一天崩溃近万次,多亏了jspatch,用热修复解决了此问题.那么问题来了,怎么让开发人员提前看到编译警告呢,以至于不犯这种低级错误. 解决 1.xcodebu