一、升级cocoapods,加上 '-n /usr/local/bin' Cocoapods1.8版本以后使用CDN服务的方法[https://www.jianshu.co...
一、升级cocoapods,加上 '-n /usr/local/bin' Cocoapods1.8版本以后使用CDN服务的方法[https://www.jianshu.co...
本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程和进程 线程和进程的定义 线程 线程是进程的基本执行单元,一个进程的所有任务都在线程中执行 进程要想执行任...
KVC的全称是Key-Value Coding,即键值编码,是一种由NSKeyValueCoding非正式协议启用的机制,对象采用它来提供对其属性的间接访问。当一个对象符合键...
method-swizzling是什么? method-swizzling的含义是方法交换,其主要作用是在运行时将一个方法的实现替换成另一个方法的实现,这就是我们常说的iOS...
在前面的文章中,我们分析了类和分类的本质和加载过程,本文主要来分析类扩展和关联对象 【面试题】类扩展与分类的区别 1、category类别(分类) 专门用来给类添加新的方法 ...
前面已经探究了类的加载流程,类分为懒加载类和非懒加载类,他们有不同加载流程,下面来探究下分类的加载,以及分类和类搭配使用的情况 分类的本质 准备工作 在 main.m中定义 ...
在上一篇我们分析了_objc_init方法,程序运行时,dyld将使用包含objc_image_info的镜像文件数组,回调 mapped 函数,最后会执行libObjc的m...
本文主要的目的是理解 dyld与objc是如何关联的 在上一篇文章iOS底层原理16:dyld源码分析[//www.greatytc.com/p/b174a307d...
本文主要介绍dyld源码执行流程,应用启动加载过程、类、分类加载,都不可避免的触及dyld,所以了解dyld源码可以让我们更好的理解iOS应用的工作原理 什么是dylddyl...
在iOS底层原理12:动态方法决议[//www.greatytc.com/p/63bd45645105]中探究了动态方法决议。在动态决议之后,通过日志辅助功能认识到...
在前面的篇章,我们分析了 objc_msgSend的快速缓存查找以及 慢速查找流程(也就是递归流程),在这两种都没找到方法实现的情况下,苹果会进行容错处理 动态方法决议:慢速...
在前面的文章iOS底层原理10:消息流程分析之快速查找[//www.greatytc.com/p/cc6eb7fffc74]中,我们分析了快速查找流程,如果快速查不...