首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
RUNNING_NIUER
掘友等级
iOS工程师
|
杭州壹百分教育
喜欢听歌,拼乐高,骑摩托,看电影
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
探寻Block的本质(6)—— __block的深入分析
__block的使用场景 大家应该都知道,如果想在block内部修改从外部捕获的auto变量的值,可以在该auto变量定义的时候,加上关键字__block。代码案例如下 _...
3
3
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
探寻Block的本质(5)—— 对象类型的变量捕获
首先我们来看这么一段代码案例 通过在打印标记flag1处断点调试可看出,在临时作用域里面的person对象只要出了作用域就会被释放,这一点是很好理解的。 上面的代码加入bl...
3
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
探寻Block的本质(4)—— Block的类型
前面的章节里面,我们了解到Block也是一个OC对象,因为它的底层结构中也有isa指针。例如下面这个block: 上面的代码中,我们通过 [xxx class] 和 [xx...
3
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
探寻Block的本质(3)—— 基础类型的变量捕获
上一篇里面,我们分析了一下 胚胎版的Block 的底层结构。现在我们加点料进去 这里我们给block所封装的函数增加两个参数a、b,还是惯例,通过命令 xcrun -sdk...
7
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
探寻Block的本质(2)—— 底层结构
上一篇,我们初步认识了Block的一些基本知识。现在,我们来一起挖掘一下Block的底层结构。 首先还是新建一个命令行项目 定义一个最最简单的block 紧接着,通过xcr...
2
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
探寻Block的本质(1)—— 基本认识
block是什么 通俗的理解:block就是将一些代码封装起来,以便在将来某个时候被使用,如果你不去调用block,block内部封装的代码就不会执行。举一个简单的例子,下...
5
3
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
iOS性能优化
(一)卡顿优化 【了解CPU和GPU】 在屏幕成像过程中,CPU和GPU的作用是至关重要的。 CPU - Central Processing Unit,中央处理器,在iO...
13
4
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Swift底层原理探索6----属性 & 方法
属性 Swift中跟实例相关的属性可以分为2大类 存储属性(Stored Property) 类似于成员变量这个概念 存储在实例的内存中 结构体、类可以定义存储属性 枚举不...
3
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Swift底层原理探索5----闭包
闭包表达式(Closure Expression) 在Swift中,可以通过func定义一个函数,也可以通过闭包表达式定义一个函数 这里的in 是用来区分 函数类型信息 和...
7
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Swift底层原理探索4----结构体和类
结构体 在Swift标准库中,绝大多数公开类型都是结构体,而枚举和类只占很小的一部分 比如Bool、Int、Double、String、Array、Dictionary等常...
5
1
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Swift底层原理探索3----可选项
可选项(Optional) 可选项,一般也叫做可选类型,它允许将值设置为nil 在类型名称后面加个问号?来定义一个可选项 C语言中,变量声明之后,会自动被赋予初始值,Swi...
1
2
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Swift底层原理探索2----枚举
枚举的基本你用法 关联值(Associated Values) 另外一些枚举举例 原始值(Raw Values) 隐式原始值(Implicitly Assigned Raw...
3
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Swift底层原理探索1----函数
函数的定义 隐式返回 返回元组:实现多返回值 函数文档的注释 函数文档的注释需要严格按照上面的模版来填写。苹果官方非常建议我们对函数进行详细的文档注视,有助于提高代码的可读...
4
2
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
内存管理剖析(五)—— weak指针实现原理
iOS引用计数的存储 我在isa的深入体会一文中介绍过,苹果从arm64架构开始,对isa进行了优化,通过位域计数将更多信息存储在了isa指针当中,充分利用了isa的内存空...
2
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
内存管理剖析(四)——autorelease原理分析
经历过MRC时代的开发者,肯定都用过autorelease方法,用于把对象交给AutoreleasePool管理,在合适的时候,自动释放对象。其实所谓的自动释放对象,就是对...
3
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
内存管理剖析(三)——iOS程序的内存布局
iOS程序安装之后,是以Mach-o文件的格式保存在iOS设备里面,当启动程序时,对应的Mach-o文件就会被加载进内存。下面,就来介绍一下iOS程序的内存布局。首先看下图...
0
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
内存管理剖析(二)——定时器问题
CADisplayLink、NSTimer的循环引用问题 CADisplayLink 是QuartzCore框架下的的一种定时器,用在跟画图相关的处理当中。NSTimer ...
5
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
内存管理剖析(一)—MRC时代的手动内存管理
MRC时代的手动内存管理 iOS中是通过 【引用计数】 来管理OC对象的内存的。 一个新创建的OC对象引用计数默认是1,当引用计数减为0,OC对象就会销毁,其占用的内存空间...
2
评论
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Runtime原理探究(六)—— Runtime综合面试题
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime...
3
2
分享
RUNNING_NIUER
iOS工程师 @杭州壹百分教育
·
4年前
关注
Runtime原理探究(五)—— super的本质
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime...
3
评论
分享
下一页
个人成就
文章被点赞
174
文章被阅读
55,916
掘力值
1,496
关注了
27
关注者
134
收藏集
0
关注标签
14
加入于
2019-03-09