2019年1月25日
摘要: 参考链接:https://www.jianshu.com/p/2d57c72016c6 博主总结的很好,个人理解的很清晰 1.GCD简介 因为 GCD 有很多好处啊,具体如下: GCD 可用于多核的并行运算 GCD 会自动利用更多的 CPU 内核(比如双核、四核) GCD 会自动管理线程的生命周期( 阅读全文
posted @ 2019-01-25 15:19 奔跑中的小谷子 阅读(165) 评论(0) 推荐(0) 编辑
  2019年1月24日
摘要: RunLoop简介 1.1什么是RunLoop? RunLoop实际上是一个对象,这个对象在循环中用来处理程序运行过程中的各种事件(触摸事件、UI刷新事件、定时器时间、Selector事件)从而保持程序的持续运行 RunLoop在没有事件处理的时候,会使程序进入睡眠模式,从而节省CPU资源,提高程序 阅读全文
posted @ 2019-01-24 16:32 奔跑中的小谷子 阅读(302) 评论(0) 推荐(0) 编辑
  2019年1月9日
摘要: 模型属性,通常需要跟字典的key一一对应 问题:一个一个的生成模型属性,很慢 需求:能不能自动根据一个字典,生成对应的属性 解决:提供一个分类,专门根据字典生成对应的属性字符串 #import "NSObject+Model.h" #import <objc/runtime.h> const cha 阅读全文
posted @ 2019-01-09 10:02 奔跑中的小谷子 阅读(210) 评论(0) 推荐(0) 编辑
  2019年1月8日
摘要: 我们通常会在自定义模型数据持久化的过程中,遇到一个模型有许多个属性,那么我们需要对每个属性都实现一遍encodeObject和decodeObjectForKey方法,如果这样的模型有很多个,还真的是一个十分麻烦的事情。 model的.h @interface Person : NSObject<N 阅读全文
posted @ 2019-01-08 16:28 奔跑中的小谷子 阅读(133) 评论(0) 推荐(0) 编辑
  2019年1月7日
摘要: 利用运行时set和get这两个API,可以让类别添加属性 1.创建一个类别:NSObject+Category 2..h生命get和set方法 @property(nonatomic,copy)NSString *name; 3..m重写set和get方法,内部利用runtime给属性赋值和取值 c 阅读全文
posted @ 2019-01-07 17:26 奔跑中的小谷子 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 其实就是对系统方法进行替换,由于某种原因,我们要改变这个方法的实现,但是又不能去动源码,这个时候runtime就排上用场了 比如说要imageNamed:方法,增加一些判断,做一些操作,建一个类别: @implementation UIImage (image) + (void)load { Met 阅读全文
posted @ 2019-01-07 17:10 奔跑中的小谷子 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 我们从以下几个方面认识一下runtime: runtime是什么? runtime是属于OC的底层,是一套比较底层的纯C语言API,包含了很多底层的c语言API,可以进行一些非常底层的操作。我们平时编写的OC代码中,程序运行过程时,其实最终都是转成了runtime的C语言代码,runtime算是OC 阅读全文
posted @ 2019-01-07 16:30 奔跑中的小谷子 阅读(188) 评论(0) 推荐(0) 编辑
  2018年8月9日
摘要: 1.安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.用brew安装ruby brew install ruby 3.用gem安装si 阅读全文
posted @ 2018-08-09 15:49 奔跑中的小谷子 阅读(511) 评论(0) 推荐(0) 编辑
  2018年7月30日
摘要: 1.需要安装cocoapods-packager sudo gem install cocoapods-packager 2.私有库验证 pod spec lint --sources='http://appinstall.aiyoumi.com:8282/iOS/ACSpecsRepo.git,h 阅读全文
posted @ 2018-07-30 15:37 奔跑中的小谷子 阅读(185) 评论(0) 推荐(0) 编辑
  2018年3月29日
摘要: 之前的文章没有说明如何安装CocoaPods,现在向大家一一说明: 1.升级ruby环境 应该输入:$ sudo gem update --system sudo是强制升级 2.更换ruby镜像 首先先移除现有ruby镜像:终端输入:$ gem sources --remove https://ru 阅读全文
posted @ 2018-03-29 17:01 奔跑中的小谷子 阅读(103) 评论(0) 推荐(0) 编辑