首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
唔西迪西Du
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
33
文章 33
沸点 0
赞
33
返回
|
搜索文章
赞
文章( 33 )
沸点( 0 )
iOS 多线程知识体系构建(八):GCD 源码:队列创建(自定义、根队列、主队列)
在 GCD 中使用最多的三种队列:主队列(dispatch_get_main_queue())、全局并发队列(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0))、自定义队列(dispatch_queue_…
iOS 多线程知识体系构建(十):GCD 源码:dispatch_once、dispatch_semaphore函数
GCD 函数阅读过程中会涉及多个由大量宏定义组成的结构体的定义,需要一步一步进行宏展开才能更好的理解代码。 dispatch_once 保证任务只会被执行一次,即使同时多线程调用也是线程安全的。常用于创建单例、swizzeld method 等功能。 dispatch_once…
iOS 从源码解析Runtime (一):Tagged Pointer知识点解读
2013 年 9 月,苹果首次在 iOS 平台推出了搭载 64 位架构处理器的 iPhone(iPhone 5s),为了节省内存和提高运行效率,提出了 Tagged Pointer 概念。下面我们逐步分析 Tagged Pointer 的优点以及结合源码分析它的实现。在 obj…
iOS 从源码解析Runtime (五):聚焦objc_object(retain、release、retaincount)
tryRetain 参数如其名,尝试持有,它涉及到的只有一个 return sidetable_tryRetain() ? (id)this : nil; 操作,只有当对象处于正在销毁状态时,才会返回 false。当对象的 isa 是原始指针时,对象的引用计数全部保存在 Sid…
iOS 从源码解析Runtime (十二):聚焦objc_class(class_rw_t 内容篇)
class_rw_t 的成员变量。 这里先分析一下 class_rw_t 的 private 部分。 这里分析模版类 objc::PointerUnion 基于 objc::PointerUnion<const class_ro_t *, class_rw_ext_t…
iOS 从源码解析Runtime (十四):由源码解读属性&成员变量的修饰符
首先定义一个 LGPerson 类,添加一系列如下不同修饰符的属性,属性的本质是编译器自动帮我们生成: _Ivar + setter + getter。 选择真机运行模式,保证编译出的是 ARM 下的汇编指令,(x86 的看不太懂)然后在 xcode 左侧用鼠标选中 LGPer…
iOS 从 libclosure-74 源码来研究 Block 实现原理(2)
我们先创建一个如下 NSObject 的 category,并且在 Compile Sources 中把 category 的 .m 文件的 Compiler Flags 标记为 -fno-objc-arc,其中的 retainCountForARC 函数可以帮助我们在 ARC…
数据结构与算法-七大经典排序算法
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的…
《剑指 Offer》面试题一~面试题十的总结
题目:如下为类型 CMyString 的声明,请为该类型添加赋值运算符函数。 题目:在一个长度为 n 的数组里的所有数字都在 0 到 n - 1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输…
《剑指 Offer》面试题三十一~面试题四十的总结
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 1、2、3、4、5 是某栈的压栈序列,序列 4、5、3、2、1 是该压栈序列对应的一个弹出序列,但 4、3、5、1、2 就不可能是该压栈序列的弹出序…
下一页
关注了
2
关注者
0
收藏集
1
关注标签
48
加入于
2020-09-07