- 博客(14)
- 收藏
- 关注
原创 组件化之pod私有库创建步骤
随着项目越来越复杂,模块越来越多,这时候可以使用组件化方式解耦,分块管理代码,组件化方式很多,CocoaPods是组件化方式之一。 1.pod私有库,别人看不到你的源码; 2.pod私有库可以减少项目合并造成的冲突,整洁易管理; 3.但是增加了维护成本,修改代码就需要上传更新库版本;由于GitHub私有库收费,这里使用码云托管平台(还有GitLab/Coding等平台)...
2018-04-05 00:42:57
3003
原创 多工程联编之静态库工程使用
把静态库工程作为工具库使用:1、新建工程TestDemo,新创建个文件夹Dependency用于存放静态库文件 2、在Dependency文件夹下创建静态库工程(一般作为工具库文件),shift+cmd+N -> Cocoa Touch Static Library(.a文件)。注意创建的时候把静态库和TestDemo关联 静态库创建完成,此时.a文件是红色,等配置成功编...
2018-03-22 18:28:02
1390
原创 .frameworke静态库的制作及使用
1、先创建一个新的Xcode工程CommonKit2,需要选择下面这个模板: 2、添加自己要封装的文件 3、添加公开头文件 Target->Build Phases->Headers中的Project中要暴露的头文件拖拽到Pulic里面: 4、设置支持所有架构(和.a制作一样) Build Active Architecture Only都设置NO5、修改Ma...
2018-03-22 17:57:20
829
原创 .a静态库的制作及使用
把笔记里的东西整理出来,好好学习天天向上(๑•̀ㅂ•́)و✧一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。二、区别: 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式:.a和.framework四、iOS里...
2018-03-22 17:44:49
5832
原创 iOS深浅拷贝,看完就会
浅拷贝:只创建一个新的指针,指向原指针指向的内存深拷贝:创建一个新的指针,并开辟新的内存空间,内容拷贝自原指针指向的内存,并指向它假设我们要对一个不可变的对象进行不可变copy(原来的对象不可变,新对象也不可变)。就没必要给新对象新建一块内存,反正大家都不可以对这个对象进行改变,那都使用一个就可以。所以iOS系统规定浅拷贝引用计数器加1就行。而需要给新对象开闭内存空间的,就是深拷贝。 ...
2018-02-26 19:45:28
1422
原创 forin遍历数组并增删其元素导致崩溃
forin遍历数组并增删其元素导致崩溃当程序出现这个提示的时候,是因为用快速遍历forin遍历数组,又同时增或删这个数组里面的内容,导致数组count发生变化,猜测在forin快速遍历的内部有个内置的不会动态改变个数的计数器, 当你的数组做出增删后, 计数器并没有相应的增减, 这样就会导致继续通过计数器获取数组, 造成数组越界。
2017-11-06 11:11:18
1811
原创 处理json里的null值+NullSafe源码阅读
后台服务器返回给客户端的值有时会是null,直接赋值操作会导致崩溃。 用OC的运行时机制,处理消息转发,避免crash产生!
2017-10-13 14:52:31
1574
原创 iOS中Block使用注意点及常见问题浅析
本文将浅分析几个Block使用问题: - 问题一:Block作为类变量属性时为啥用copy修饰?堆栈存储位置是怎样的? - 问题二:为什么需要__block 修饰自动变量后,才能在Block中更改? - 问题三:关于常见block中self的循环引用问题,可以用__weak打破强引用链;那么为什么AFN或像UIView动画不需要弱引用self?
2017-08-31 18:14:04
3133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人