首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
初心
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
初心
3年前
关注
OC底层原理(17)- GCD(栅栏,调度组,信号量,dispatch_source)
所以 a 打印的结果就会大于等于 5 。 由于是这是异步代码块,所以先回执行代码块后面的代码,然后才会开启一个新线程执行块里面的代码,当 a++ 执行完了才是整个代码块执行...
1
3
分享
初心
3年前
关注
OC 底层原理(16)— 多线程二(GCD初探、创建原理、根队列分析)
一次只能执行一个,上一个任务没有执行完,就无法继续执行下一个任务,也就是效率比较低,任务耗时较长,DISPATCH_QUEUE_SERIAL。 并发队列会开启多个线程来执行...
赞
评论
分享
初心
4年前
关注
OC 底层原理(13)-- KVO (上)(基本使用,自定义KVO)
代码里面的使用场景,可以根据自己的理解完善场景。 这时 context 就起作用了,我们可以将 context 理解为tag,我们可以为每个keyPath都设一个key,以...
1
评论
分享
初心
4年前
关注
数据结构与算法(6)- 队列
队列我们可以理解为单行道的马路上的车辆,通过收费站时,排在前面的车辆先通过,排在后面的车辆后通过,通过收费站的我们叫出队列,后面新加入队列的叫入队。 队列的特点:先进先出,...
赞
评论
分享
初心
4年前
关注
OC底层原理(12)-KVC
这个过程中主要用成员变量来探索,为什么要使用成员变量呢,因为属性在赋值的过程中本来就会生成getter 和 setter 方法了,所以再用属性探索KVC赋值,会不好分辩。 ...
赞
评论
分享
初心
4年前
关注
OC底层原理(11)-部分知识点总结(随记)
runtime 是由C、C++、汇编实现的一套API,为OC语言加入了面向对象,运行时的功能。 运行时(runtime)是指将数据类型的确定由编译时推迟到了运行时。如,ex...
赞
评论
分享
初心
4年前
关注
OC底层原理(10) - 方法查找流程(随记)
if (cache) 这个判断是不用看的,因为上面传进来的时候传的是NO。 在父类的父类也就是父类的元类里找到了。 看到这赋值了 objc_defaultForwardHa...
赞
评论
分享
初心
4年前
关注
OC底层原理(9)- runtime简介,方法的本质(随记)
1、概述:由 c、c++、汇编混编写成的为OC提供运行时功能的一套api。 这是因为我们OC调用方法的过程就是通过发送消息去找函数实现的过程,只不过在底层封装了这一过程。所...
赞
评论
分享
初心
4年前
关注
数据结构与算法(3)- 双向链表
一、双向链表1、双向链表结构1)双向链表结构定义2)创建双向链表3)打印循环链表的元素4)双向链表插入元素5)删除双向链表指定位置上的结点6)删除双向链表指定值的结点删除思...
1
评论
分享
初心
4年前
关注
OC底层原理(8)-cache_t原理(随记)
0x100002658 + 0x10 = 0x100002668;因为0x100002668是cache_t的指针地址,所以读取地址时需要加(cache_t *) 进行转换...
1
评论
分享
初心
4年前
关注
OC 底层原理(7)- 类原理(类的属性存储,类的方法存储)(随记)
现在我们需要找到hobby 和 name 存储的位置,差不多可以猜测这两个属性最有可能存储的位置在bits内,但目前看来 bits全是0 没法看,所以在这过程中就需要用到指...
1
评论
分享
初心
4年前
关注
OC 底层原理(6)-类原理(指针内存偏移,类的结构)(随记)
看到两个变量赋值一个常量,答应值和地址时,值一样地址不一样,对于此称之为值拷贝;&a 的意思是,指向这个变量的地址。 此时对象的内存空间完全不一样,是因为在alloc的过程...
1
评论
分享
初心
4年前
关注
OC 底层原理(5)- 对象原理(isa 的走位分析,对象的本质)(随记)
根据上图我们可以确定的是,类在内存里面只会存在一份。那接下来就分析一下类的内存结构(见下图) 由上图可以看到,类的第一个内存地址竟然也是LGPerson,难道又绕回去了?当...
1
评论
分享
初心
4年前
关注
OC 底层原理(4)-对象原理( 符号表绑定,objc_alloc探索,isa关联对象与类)(随记)
在第一篇中有贴出过 alloc 实现的整个流程图,alloc -> _objc_rootAlloc -> callAlloc -> ... 那为什么会出现这个情况呢,这是因...
1
评论
分享
初心
4年前
关注
OC 底层原理(3)- 对象原理(isa关联类,联合体,位域分析 )(随记)
根据上图看 !nonpointer 是,其中只对 cls 赋了值,然后就没有其他信息了,再看 else 的内存可以看到的是,除了 shiftcls 还有其他信息,比如bit...
1
评论
分享
初心
4年前
关注
下载并配置alloc所在的动态库开源的源码(objc)
搜索objc,选择要下载的版本。 3)查看报错信息,下载缺少头文件,并将下载的include 放到工程中。下载链接: https://pan.baidu.com/s/1Cw...
1
评论
分享
初心
4年前
关注
OC 底层原理(2)- 对象原理(内存对齐与 calloc 分析)(随记)
由 0x0000001200006261 可以引出内存优化---内存拼接和内存对齐。 储。 成员的整数倍.不足的要补⻬。 上图打印不同的数据结构,数据结构内所存的数据内容一...
1
评论
分享
初心
4年前
关注
OC 底层原理(1)-对象原理( 对象的创建)(随记)
从结果可以总结为,p1,p2,p3 指向同一个内存空间,但创建出来的三个对象的指针地址是不同的。 因为 alloc 创建实例对象的同时也申请了一块内存空间,p1,p2,p3...
1
评论
分享
初心
4年前
关注
数据结构与算法(2)- 单向循环链表
一、链表模型二、定义结点三、循环链表创建第一种方法:第一种方法:四、遍历循环链表五、循环链表插入元素五、循环链表删除元素六、循环链表查找元素1、根据值查位置2、根据位置查值...
1
评论
分享
初心
4年前
关注
数据结构与算法(1)- 数据结构基本概念、线性结构顺序存储于链式存储
1)数据:程序的操作对象,用于描述客观事物。特点,可以输入到计算机并可以被计算机处理。 2)数据元素:组成数据的对象的基本单位。 3)数据项:一个数据元素由若干数据项组成。...
1
评论
分享
下一页
个人成就
文章被点赞
16
文章被阅读
17,458
掘力值
523
关注了
5
关注者
5
收藏集
0
关注标签
12
加入于
2020-03-02