首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
内存管理
订阅
Ethan_iOS
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
iOS Category 详解
iOS Category 详解
iOS基础之copy
copy这个英文单词,让我第一个想起的是copy忍者卡卡西。个人非常喜欢卡卡西,和谁对战都是五五开的上忍。copy翻译成中文就是复制的意思,为什么我们想要复制呢?我觉得原因有下面几点: 复制更快,重复的东西通过复制,可以快速得到一个一模一样的东西,比如说一个文件,一段文字,一个…
对Block的一些理解
通常在进行一些异步操作的时候,我们都会使用block作为函数参数来回调结果。 通常将block作为函数返回值处理的场景会比较少,不过后面讲到的链式调用就会通过该形式实现。 可以通过设置成员变量为block来通知外部调用者,从而达成两者数据的传递。 当需要在block内修改局部变…
IOS底层 - KVO原理分析
看到上述问题,你有答案了吗?如果你有疑惑,带着疑问我们开启一段KVO的探索之旅。 KVO全称Key-Value Observing,是苹果提供的一套事件通知机制,允许一个对象在其他对象的指定属性发生更改时得到通知的机制。 大家都了解KVO的基本使用方法,无非就是添加观察者、接收…
从iOS中的引用计数说起
在详解iOS中的Runtime一文中,对isa进行了详解。 从arm64架构开始,苹果对isa进行了优化,变成了一个共用体(union)结构,还使用位域来存储更多的信息。如下 isa中不同的位域代表不同的含义。 我们只有一个需要存储20这个数据,按照正常的技术方案,在64位CP…
iOS底层原理之部分面试题分析
我们知道当一个对象销毁的时候会调用dealloc方法,那么我们先看下dealloc都进行了哪些操作。 runtime是由C和C++汇编实现的一套API,为OC语言添加了面向对象和运行时功能。 运行时:将数据类型的确定由编译阶段推迟到了运行阶段。我们平时所写的OC代码,最终转换为…
iOS底层原理:weak的实现原理
该方法的两个参数location和newObj。 从上面的代码可以看出objc_initWeak方法只是一个深层次函数调用的入口,在该方法内部调用了storeWeak 方法。下面我们来看下storeWeak 方法的实现代码。 如下是storeWeak方法的实现代码。 store…
weak实现原理
前段时间看了iOS管理对象内存的数据结构以及操作算法后感觉受益良多,所以对照源码进行了一遍自己的梳理。###weak实现原理1.为了管理所有对象的引用计数和weak指针,创建了一个全局的SideTab
iOS 内存布局&内存管理方案
创建临时变量时由编译器自动分配,在不需要的时候自动清除的变量的存储区。 里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 那些由 new alloc 创建的对…
理解 ARC 实现原理
ARC 是 iOS 中管理引用计数的技术,帮助 iOS 实现垃圾自动回收,具体实现的原理是由编译器进行管理的,同时运行时库协助编译器辅助完成。主要涉及到 Clang (LLVM 编译器) 和 objc4 运行时库。 本文主要内容由修饰符 __strong 、 __weak 、 …