2019年1月25日
摘要:
参考链接:https://www.jianshu.com/p/2d57c72016c6 博主总结的很好,个人理解的很清晰 1.GCD简介 因为 GCD 有很多好处啊,具体如下: GCD 可用于多核的并行运算 GCD 会自动利用更多的 CPU 内核(比如双核、四核) GCD 会自动管理线程的生命周期(
阅读全文
posted @ 2019-01-25 15:19
奔跑中的小谷子
阅读(172)
推荐(0)
2019年1月24日
摘要:
RunLoop简介 1.1什么是RunLoop? RunLoop实际上是一个对象,这个对象在循环中用来处理程序运行过程中的各种事件(触摸事件、UI刷新事件、定时器时间、Selector事件)从而保持程序的持续运行 RunLoop在没有事件处理的时候,会使程序进入睡眠模式,从而节省CPU资源,提高程序
阅读全文
posted @ 2019-01-24 16:32
奔跑中的小谷子
阅读(306)
推荐(0)
2019年1月9日
摘要:
模型属性,通常需要跟字典的key一一对应 问题:一个一个的生成模型属性,很慢 需求:能不能自动根据一个字典,生成对应的属性 解决:提供一个分类,专门根据字典生成对应的属性字符串 #import "NSObject+Model.h" #import <objc/runtime.h> const cha
阅读全文
posted @ 2019-01-09 10:02
奔跑中的小谷子
阅读(212)
推荐(0)
2019年1月8日
摘要:
我们通常会在自定义模型数据持久化的过程中,遇到一个模型有许多个属性,那么我们需要对每个属性都实现一遍encodeObject和decodeObjectForKey方法,如果这样的模型有很多个,还真的是一个十分麻烦的事情。 model的.h @interface Person : NSObject<N
阅读全文
posted @ 2019-01-08 16:28
奔跑中的小谷子
阅读(147)
推荐(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
奔跑中的小谷子
阅读(113)
推荐(0)
摘要:
其实就是对系统方法进行替换,由于某种原因,我们要改变这个方法的实现,但是又不能去动源码,这个时候runtime就排上用场了 比如说要imageNamed:方法,增加一些判断,做一些操作,建一个类别: @implementation UIImage (image) + (void)load { Met
阅读全文
posted @ 2019-01-07 17:10
奔跑中的小谷子
阅读(179)
推荐(0)
摘要:
我们从以下几个方面认识一下runtime: runtime是什么? runtime是属于OC的底层,是一套比较底层的纯C语言API,包含了很多底层的c语言API,可以进行一些非常底层的操作。我们平时编写的OC代码中,程序运行过程时,其实最终都是转成了runtime的C语言代码,runtime算是OC
阅读全文
posted @ 2019-01-07 16:30
奔跑中的小谷子
阅读(193)
推荐(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
奔跑中的小谷子
阅读(517)
推荐(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
奔跑中的小谷子
阅读(200)
推荐(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)