首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS底层原理
订阅
用户6090660746009
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
iOS - 深拷贝、浅拷贝探索验证
copy:对不可变对象是浅拷贝,可变对象是深拷贝 mutableCopy:始终是深拷贝 无论深浅拷贝,集合对象内元素都是浅拷贝**
iOS 底层系列 - AssociatedObject
iOS 中我们给分类进行添加属性成员变量使用的 runtime 的 Associated API ,但是我们对原理了解过少,下面说下 关联对象的本质和原理。 1. 关联对象的本质 关联对象并不是存储在被关联对象本身内存中,跟原本的对象没有内存关系,关联对象存储在全局的统一的一个…
iOS底层原理总结 - 关联对象实现原理
答:不能直接添加成员变量,但是可以通过runtime的方式间接实现添加成员变量的效果。 使用RunTime给系统的类添加属性,首先需要了解对象与属性的关系。我们通过之前的学习知道,对象一开始初始化的时候其属性为nil,给属性赋值其实就是让属性指向一块存储内容的内存,使这个对象的…
iOS开发·runtime原理与实践: 关联对象篇(Associated Object)(为分类添加“属性”,为UI控件关联事件Block体,为了不重复执行)
1. 什么是关联对象 在iOS开发中,可能category比较常见,相对的Associated Object,就用的比较少,要用它之前,必须导入<objc/runtime.h>的头文件。 2. 关联对象:为分类添加“属性” 这些代码都是编译器为我们生成的,虽然你看不到它,但是它…
iOS 从源码解析 AssociatedObject 底层实现原理
提示我们需要手动为属性添加 setter gettr 方法或者使用 @dynamic 在运行时实现这些方法。 即明确的告诉我们在分类中 @property 并不会自动生成实例变量以及存取方法。 不是说好的使用 @property,编译器会自动帮我们生成下划线实例变量和对应的 s…
聊聊iOS开发中weak指针的原理
前几天在iOS圈内流传着“一个关于历年来weak的面试题答案”的段子,感觉有点搞怪O(∩_∩)O~~。是的,做技术开发门槛越来越高了。。。 结合查看objc源码,我写了个简单测试demo,关于对象的三个修饰词__strong、__weak、__unsafe_unretained…
iOS底层原理:weak的实现原理
该方法的两个参数location和newObj。 从上面的代码可以看出objc_initWeak方法只是一个深层次函数调用的入口,在该方法内部调用了storeWeak 方法。下面我们来看下storeWeak 方法的实现代码。 如下是storeWeak方法的实现代码。 store…
iOS内存管理——内存管理(自动释放池AutoreleasePool)
内存管理之自动释放池AutoreleasePool,从概念、运行机制、使用方式、底层实现原理等方面分析了自动释放池。
iOS-底层原理 33:内存管理(三)AutoReleasePool & NSRunLoop 底层分析
本文主要分析 AutoReleasePool 以及 NSRunLoop 的底层实现AutoReleasePool 自动释放池自动释放池是OC中的一种内存自动回收机制,它可以将加入Autorelease