iOS开发底层原理
文章平均质量分 63
iOS开发底层原理总结:KVC、KVO、Runtime、Runloop、Memory Management、Block、Category、Association Object等
陈彬一直在学习
这个作者很懒,什么都没留下…
展开
-
iOS开发 搞懂runtime系列文章(一)OC对象的底层结构
iOS开发中,runtime库作为底层基础设施,发挥着重要的作用,可以说,runtime赋予了OC这门语言灵魂,让OC这门语言变得动态化和极具灵活性,让开发者可以对代码本身进行编程,俗称元编程。万丈高楼平地起,只有明白了runtime底层的原理,才能在软件开发中游刃有余,避免隐秘的错误的发生。iOS开发中的很多知识点都和runtime息息相关,比如内存管理,弱引用,关联对象,分类,方法调用,继承等等。原创 2024-02-16 07:56:09 · 1071 阅读 · 1 评论 -
iOS开发之KVC底层原理
KVC全称KeyValueCoding,称作键值编码。KVC的方法定义在Foundation框架下的NSKeyValueCoding.h文件下。Foundation为我们提供了NSObject、NSArray、NSDictionary、NSMutableDictionary、NSOrderedSet、NSSet关于KeyValueCoding的分类。也就是说,只有这几个类及其子类,才能使用KVC的方法。原创 2024-02-05 22:03:52 · 482 阅读 · 1 评论 -
从声明定义到底层原理,搞懂block的全部内容系列文章(四)__block的底层实现
本文是block系列的最后一篇,我们知道block有个特性,在block代码体内部不能修改所捕获的外部非静态局部变量的值(全局变量和静态局部变量的值可以修改),如果想修改,需要在变量前面加上__block,本文主要讲述__block的作用和实现原理。原创 2024-02-02 16:24:24 · 398 阅读 · 0 评论 -
从声明定义到底层原理,搞懂block的全部内容系列文章(三)block的变量捕获及内存管理
上篇文章中,我们看到了block的底层实现,知道了block作为oc对象,会封装函数及函数调用环境,而且我们知道函数指的是block代码体,函数调用环境其实就是block代码体所引用的外部变量。我们也可以换个常见的说法,block对象会捕获block代码体用到的外部变量。这篇文章,重头戏就在外部变量这个概念上。外部变量不同,block对象的类型也会不同,而block类型不同,就会导致内存管理的差别。所以本文将分别介绍block的类型和block的内存管理。原创 2024-02-02 15:49:20 · 883 阅读 · 0 评论 -
从声明定义到底层原理,搞懂block的全部内容系列文章(二)block在c层面的数据结构
block被称为封装了函数及函数调用环境的OC对象,如何理解这个概念呢?原创 2024-02-01 10:47:56 · 354 阅读 · 1 评论 -
从声明定义到底层原理,搞懂block的全部内容系列文章(一)block的声明和定义
block作为OC中一种高级语法,其重要性不言而喻,对于程序员而言,从简单的控制器反向传值到令人眼花缭乱的RXCocoa响应式编程,block无处不在。故扎实掌握好block,熟记它的语法及底层实现和原理,才能应对自如。本系列文章将从四个方面,由浅入深描述block。原创 2024-02-01 10:05:57 · 414 阅读 · 1 评论