首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 底层原理
订阅
Vanha
更多收藏集
微信扫码分享
微信
新浪微博
QQ
6篇文章 · 0订阅
iOS底层原理:weak的实现原理
该方法的两个参数location和newObj。 从上面的代码可以看出objc_initWeak方法只是一个深层次函数调用的入口,在该方法内部调用了storeWeak 方法。下面我们来看下storeWeak 方法的实现代码。 如下是storeWeak方法的实现代码。 store…
iOS引用计数管理之揭秘计数存储
最近偶尔出去面试了解一下现在iOS行情和面试会问的问题。其中有这样的一个问题被问到很多次:引用计数原理。回去查资料发现当时回答的很糟糕,于是就在这里单独写一篇文章记录下来。这篇文章只讲一个问题:引用计数的数量存哪里的,文末提到的其他问题后面会单独再写。
HashMap底层实现原理
HashMap实现了Map接口,我们常用HashMap进行put和get操作读存键值对数据。下面介绍基于jdk1.8深入了解HashMap底层原理。 HashMap实际是一种“数组+链表”数据结构。在put操作中,通过内部定义算法寻止找到数组下标,将数据直接放入此数组元素中,若…
iOS底层学习 - 内存管理之weak原理探究
我们通过例子🌰来看一下__strong、__weak、__unsafe_unretained的区别在哪里. 先来看一下用__strong修饰的结果。可以发现修饰的对象在作用域结束之后并没有销毁,说明该对象的引用计数增加了 再来看一下__weak修饰的结果。通过下面的运行我们可…
iOS -- 经典面试题
1. Runtime 是什么? Runtime是一套有C、C++和汇编混合编写的API,为OC加入了面向对象以及运行时的功能。 运行时是指将数据类型的确定有编译时,推迟到了运行时。 比如:在编译时,只读取macho中的数据到ro,而真正方法的读取是在rw中体现的,编译好的ro是…
iOS -- Autorelease & AutoreleasePool
内存管理一直是Objective-C 的重点,在MRC环境下,通过调用[obj autorelease]来延迟内存的释放,在现在ARC环境下,我们都知道编译器会在合适的地方插入release/autorelease内存释放语句,我们甚至可以不需要知道Autorelease就能很…