iOS源码
ZhaiAlan
iOS开发工程师
展开
-
iOS 探索KVO三(自定义KVO)
前言前两篇KVO的文章介绍了一些KVO的使用方式和KVO的实现原理,这篇文章我们来自定义KVO;自定义KVO自定义KVO首先要有个大概思路,根据KVO原理来进行操作:自定义KVO源码请移步github点击下载1.添加通知即:- (void)xz_addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath ...原创 2020-04-30 18:08:20 · 394 阅读 · 0 评论 -
iOS源码调试
前言最近有一些小伙伴私信我,说看之前的iOS底层系列文章中,下载的objc4_752源码不能使用,这里需要给大家解释一波修改方法1.在使用objc4_752源码源码时,注意签名改成自己的代码签名2.选择版本需要在target 版本10.143.添加系统库libobjc.A.dylib ,可以进入源码调试4.最近发现使用xcode11可能会导致崩溃但是xcode10 可以...原创 2020-04-24 14:07:51 · 697 阅读 · 0 评论 -
iOS优美的内存管理
前言相关代码:工程Demo内存管理这篇文章主要会从内存布局,内存管理方案,ARC&MRC ,引用计数,弱引用,以及自动释放池这几个方面来进行详细的介绍;内存布局,五大区程序加载到内存中会被分开为几个区:内存地址从高到低分别是:内核区内核区:系统内核处理大小一般为1G stack(栈区):存储函数, 方法,常量等, 地址从高到低;(0x7,大概地址) he...原创 2020-03-25 16:40:41 · 298 阅读 · 0 评论 -
iOS底层探索十(方法的本质下-消息转发流程)
前言相关文章iOS底层探索二(OC 中 alloc 方法 初探)iOS底层探索三(内存对齐与calloc分析)iOS底层探索四(isa初探-联合体,位域,内存优化) iOS底层探索五(isa与类的关系)iOS底层探索六(类的分析上)iOS底层探索七(类的分析下)iOS底层探索八(方法本质上)iOS底层探索九(方法的本质下objc_msgSend慢...原创 2020-03-23 17:25:48 · 471 阅读 · 0 评论 -
iOS底层探索九(方法的本质中--objc_msgSend慢速及方法转发初探)
前言相关文章 iOS底层探索二(OC 中 alloc 方法 初探) iOS底层探索三(内存对齐与calloc分析)iOS底层探索四(isa初探-联合体,位域,内存优化) iOS底层探索五(isa与类的关系)iOS底层探索六(类的分析上)iOS底层探索七(类的分析下)iOS底层探索八(方法本质上) 相关代码: ...原创 2020-03-20 17:18:34 · 569 阅读 · 0 评论 -
iOS 面试题(iskindof)
这篇文章我们对面试题题目是这样的:相关源码:objc4_752源码isa走位图:int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... BOOL re1 = [(id)[NSObject class] isKindOfC...原创 2020-03-12 16:35:16 · 444 阅读 · 0 评论 -
iOS底层探索八(方法本质上)
前言相关文章: iOS底层探索一(底层探索方法) iOS底层探索二(OC 中 alloc 方法 初探) iOS底层探索三(内存对齐与calloc分析)iOS底层探索四(isa初探-联合体,位域,内存优化) iOS底层探索五(isa与类的关系)iOS底层探索六(类的分析上) 相关代...原创 2020-03-12 15:12:31 · 469 阅读 · 0 评论 -
iOS底层探索七(类的分析下)
前言相关文章: iOS底层探索一(底层探索方法) iOS底层探索二(OC 中 alloc 方法 初探) iOS底层探索三(内存对齐与calloc分析)iOS底层探索四(isa初探-联合体,位域,内存优化) iOS底层探索五(isa与类的关系)iOS底层探索六(类的分析上) 相关代...原创 2020-03-11 16:50:24 · 390 阅读 · 0 评论 -
iOS底层探索六(类的分析上)
前言相关文章:iOS底层探索一(底层探索方法) iOS底层探索二(OC 中 alloc 方法 初探) iOS底层探索三(内存对齐与calloc分析) iOS底层探索五(isa与类的关系) 相关代码: objc4_752源码 前几篇文章对alloc方法和...原创 2020-03-10 18:04:36 · 338 阅读 · 0 评论 -
iOS底层探索五(isa与类的关系)
前言相关文章:iOS底层探索一(底层探索方法) iOS底层探索二(OC 中 alloc 方法 初探) iOS底层探索三(内存对齐与calloc分析) iOS底层探索四(isa初探-联合体,位域,内存优化) 相关代码: objc4_752源码 isa_objec...原创 2020-03-09 16:10:42 · 696 阅读 · 2 评论 -
iOS底层探索四(isa初探-联合体,位域,内存优化)
前言相关文章:iOS底层探索一(底层探索方法) iOS底层探索二(OC 中 alloc 方法 初探) iOS底层探索三(内存对齐与calloc分析) 相关代码: objc4_752源码 UnionDomain 前几篇文章对alloc方法进行了初步探究...原创 2020-03-06 17:05:20 · 973 阅读 · 0 评论 -
iOS底层探索三(内存对齐与calloc分析)
前言相关文章:iOS底层探索一(底层探索方法) iOS底层探索二(OC 中 alloc 方法 初探) 前两篇文章对alloc方法进行了初步探究但是到calloc方法发现,这个方法在另一个库中,这边文章描述下内存对齐,并对calloc进行继续探究内存对齐原则进行说明首先我们需要知道为什么系统要进行内存对齐,CPU每次从内存...原创 2020-03-05 17:38:48 · 563 阅读 · 0 评论 -
iOS底层探索二(OC 中 alloc 方法 初探)
前言 开发中我们经常会用到XZPerson *p= [[XZPerson alloc]init],我们只知道,这样我们就新建了一个对象,可以直接使用这个对象,可以对这个对象进行赋值使用,但是我们没有关心过alloc方法底层到底是通过什么方式进行实现的;今天我准备对alloc方法进行一次尝试性底层挖掘;首先我们需要先准备一份可编译的objc4_756代码,可以直接进行下载探索...原创 2020-03-03 15:50:15 · 953 阅读 · 2 评论