首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
流年匆匆i
掘友等级
啥也不会的 iOSer
混吃等死的 iOSer
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
3
文章 3
沸点 0
赞
3
返回
|
搜索文章
最新
热门
iOS GCD源码浅析
什么是 GCD ?GCD(Grand Central Dispatch) 是异步执行任务的技术之一。我们只需要将定义的任务追加到适当的 Dispatch Queue 中,GCD 就能帮我们生成必要的线程并执行我们的任务而且不需要编写任何线程管理代码。因此使用 GCD 是 ver…
iOS 锁的底层探索笔记
了解锁的机制会有助于项目开发,从而避免项目中多个线程访问同一块资源引发数据混乱的问题,本文只是简单的介绍 iOS 开发中的几种锁应用场景,以及分析锁的底层实现原理,了解每个锁的原理之后,在项目中运用锁会更加得心应手。 介绍锁之前,先来了解一下锁的基本概念,会有助于后面知识点的理…
iOS 从 _objc_init 分析类的加载流程
在启动 app 的时候, dyld 会对动态库进行加载、链接等一系列动作,之后就会来到 libobjc.A.dylib 库中调用 _objc_init 对类进行处理,通过 map_images 映射出整个镜像文件,再通过 read_images 加载镜像文件,此时类已经加载完成…
iOS 一探KVO原理究竟
KVO:(Key-Value-Observer) 是 iOS 中一种机制,这种机制允许将其他对象的特定属性的更改通知给对象,为 iOS 开发者们提供了很多的便利,我们可以使用 KVO 来检测对象属性的变化、快速做出响应,这能够为我们在开发强交互、响应式应用以及实现视图和模型的双…
iOS KVC底层原理分析
提起 KVC,大多数的第一反应是 setValue: forKey: 以及 setValue: forKeyPath:,这也就是我们的所说的键值编码(Key-value coding),键值编码是一种由 NSKeyValueCoding 非正式协议启用的机制,对象采用该协议来提…
iOS 带你走进消息转发流程及防崩溃处理
在 iOS 项目中,我们经常会遇到 x[xx xx]: unrecognized selector sent to instance xxx 的 crash,调用类没有实现的方法就会出现这个经典的 crash,如下图,消息查找流程 这篇文章分析了如何找到报这个 crash 的原…
iOS 消息查找流程
上一篇 从汇编探索objc_msgSend 遗留了一个 __class_lookupMethodAndLoadCache3,接下来就是对这个方法进行分析,也就会来到了消息查找流程,消息查找流程分为快速和慢速,快速查找已经在 objc_msgSend 找过了,找不到就会进入慢速查…
iOS 通过汇编探索 objc_msgSend
众所周知,OC 是一门动态语言,因为 runtime 的存在而变得强大,而在代码中调用方法就是给对象发送消息也是因为 runtime 的存在,调用方法就是调用 objc_msgSend 这个函数,那在底层又是怎么样的呢?汇编又是怎么一步步调用的呢?这篇文章会将通过汇编来分析 o…
iOS cache_t底层源码分析
我在上一篇文章 类的结构 已经分析大多数类结构的内容,但是还遗留了一些内容,比如 cache_t ,这篇文章我们主要分析 cache_t 是一个什么东西。 1. cache_t 的源码结构 首先我们来到类的结构源码,点到 cache_t 结构体里面发现,cache_t 由 bu…
iOS 手把手探索类的结构
在项目中,我们经常创建类,然后通过类去 alloc 我们所需要的对象,那我们类的结构在底层是什么样的呢?我们在类中所写的属性和方法又被 Xcode 编译到哪里去了呢?接下来针对这两个问题来一探究竟。 首先我们创建一个 Person,并增加一些属性、成员变量和方法,然后在 mai…
下一页
个人成就
文章被点赞
92
文章被阅读
24,340
掘力值
578
关注了
32
关注者
39
收藏集
3
关注标签
12
加入于
2019-05-20