首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
OC
订阅
Aloha_Jimmy
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t-二
这篇文章是之前那篇文章iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t的补充和延伸。如果没有阅读过前一篇文章请先看那一篇。 上一篇文章中关于SideTables、SideTable和RefcountMap三者关系…
iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t-一
第一次写文章语言表达能力太差。如果有哪里表达的不够清晰可以直接评论回复我,我来加以修改。这篇文章力求脱离语言的特性,咱们多讲结构和算法。即使你不懂iOS开发,不懂Objective-C语言也可以看这篇文章。 通过阅读本文你可以了解iOS管理对象内存的数据结构是什么样的,以及操作…
Objective-C Runtime Programming Guide
在Objective-C中,消息直到运行时才绑定到方法实现。编译器将表达式为[receiver message]这种的消息转换为objc_msgSend方法发送消息, objc_msgSend方法首要两个参数分别为方法的接收者receiver, 发送消息的方法selector …
iOS探索 细数iOS中的那些锁
当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得不到预期的结果 锁作为一种非强制的机制,被用来保证线程安全。每一个线程在访问数据或…
阿里、字节 一套高效的iOS面试题解答(持续更新,最后更新3.26)
1. 介绍下runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等) 2. 为什么要设计metaclass 3. class_copyIvarList & class_copyPropertyList区别 class_copyPropertyList…
iOS中编写高效能结构体的7个要点
结构体是C/C++两种语言中的基础语法, C语言中的结构体只是一个存粹的数据集合类型的描述,它只有数据成员而没有成员方法。C++中的结构体则被赋予为一个类定义的角色,它可以有数据成员也可以有成员方法。OC语言源自于C语言,它是面向对象的C语言,自然结构体的概念就和C语言中的定义…
iOS 编写高质量Objective-C代码(五)—— 内存管理机制
本篇的主题是iOS中的 “内存管理机制”。 iOS 4之前,所有iOS开发者必须要手动管理内存,即手动管理对象的内存分配和释放。首先,不断插入retain、release等内存管理语句,大大加大了工作量和代码量。其次,在面对一些多线程并发操作时,开发者手动管理内存并不简单,还可…
iOS 常用关键字 static、const、 extern、define
其可用于修饰常量变量或函数, 延长其生命周期, 被修饰的数据类型会保存到 bbs段(静态区) 中, 内存由编译器分配, 一般随程序结束后清除释放, 被修饰的数据类型, 系统只会为其分配一次内存地址, 所以用于修饰数据类型时, 不管执行多少次, 被修饰的数据类型只会初始化一次。 …
iOS 底层 - 手把手带你探索OC方法的本质
说到任何关于 OC 本质的东西 , 我们不得不提一下 Runtime 这个东西 . 这里只是简单了解一下 Runtime , 为我们探索方法本质提供一些帮助 , 后续更新详细的 Runtime 机制和具体使用 . ◈ Objective-C 扩展了 C 语言,并加入了面向对象特…
Runtime源码 Category(分类)
减小单个文件的代码量(维护一个2000代码的类和维护四个500的代码的类差别还是比较明显的)。 把不同功能组织到不同的Category。 不可以添加实例变量。 在上述的代码片段里,addUnattachedCategoryForClass只是把类和category做一个关联映射…