首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
不要开发App
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
8
文章 8
沸点 0
赞
8
返回
|
搜索文章
赞
文章( 8 )
沸点( 0 )
深入理解iOS的block
在文章之前,先抛出如下问题。 如果现在不是很熟悉,希望看完这篇文章,能有个新的认识。 先介绍一下什么是闭包。在 wikipedia 上,闭包的定义是 block 实际上就是 Objective-C 语言对于闭包的实现。 如图所示,age是直接值传递,height传递的是*hei…
iOS概念攻坚之路(三):内存管理
iOS 的内存管理不止是 「引用计数表」。 iOS 开发者基本都知道 iOS 是通过「引用计数」来管理内存的,但是也许并不知道 iOS 其他的内存管理方式,比如 「Tagged Pointer」(带标记的指针),比如 「NONPOINTER_ISA」(非指针型 isa),这个要…
iOS RunLoop详解
Runloop 是和线程紧密相关的一个基础组件,是很多线程有关功能的幕后功臣。尽管在平常使用中几乎不太会直接用到,理解 Runloop 有利于我们更加深入地理解 iOS 的多线程模型。 本文从如下几个方面理解RunLoop的相关知识点。 可见,一个RunLoop对象,主要包含了…
iOS底层原理总结 - 探寻block的本质(二)
上一篇文章iOS底层原理总结 - 探寻block的本质(一)中已经介绍过block的底层本质实现以及了解了变量的捕获,本文继续探寻block的本质。 大括号执行完毕之后,person依然不会被释放。上一篇文章提到过,person为aotu变量,传入的block的变量同样为per…
iOS底层原理总结 - 探寻block的本质(一)
block本质上也是一个oc对象,他内部也有一个isa指针。block是封装了函数调用以及函数调用环境的OC对象。 上图中将c++中block的声明和定义分别与oc代码中相对应显示。将c++中block的声明和调用分别取出来查看其内部实现。 上述定义代码中,可以发现,block…
iOS 底层 - OC 对象的创建流程
这样探索下来 , 我们不仅会熟练掌握这些知识点 , 更能对其融会贯通 , 得到苹果为什么会这么设计的根本原因 . 本篇文章从对象的创建出发 , 梳理对象创建流程 , 探索每一个遇到的知识点 . 对象的创建方式 , 最常见的 alloc init , 或者 new . 添加好断点…
iOS 底层 - 一文读懂OC方法查找与消息转发
当调用实例对象方法时 , 查找的将是类对象 . 当调用类方法是 , 查找的将是元类对象 . 注意 : 本文下面书内容中所指 "本类" 基于此前提 . 就是说当调用实例方法 , 本类就是指类对象 , 当调用类方法 , 本类就是指元类 . 注意 : runtime 有两个版本 , …
iOS 底层 - 手把手带你探索OC方法的本质
说到任何关于 OC 本质的东西 , 我们不得不提一下 Runtime 这个东西 . 这里只是简单了解一下 Runtime , 为我们探索方法本质提供一些帮助 , 后续更新详细的 Runtime 机制和具体使用 . ◈ Objective-C 扩展了 C 语言,并加入了面向对象特…
关注了
29
关注者
0
收藏集
3
关注标签
25
加入于
2018-08-30