首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Luminixus
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
14
文章 13
沸点 1
赞
14
返回
|
搜索文章
最新
热门
学习Swift源码(一)
学习框架最好的方式是学习它的源码。对于 Objective-C Runtime 源码,虽然代码不少但起码可以找到下手的地方。可面对 Swift 源码的时候,第一感觉就是这工程也忒大了,一时间竟无从下手。按照 startup 文档的指示,拉下来单单是相关工程就有十几个,看着就挺吓…
Objective-C实现假进度生成器
在业务开发过程中常常会遇到这样的场景,对进度无法准确度量的过程模拟一个假进度,假进度不能过分偏离过程的实际进度,过渡要尽量平滑。对于过程较为复杂的场景,可能在业务代码中引入大量的假进度模拟逻辑。最好的方式是,将假进度模拟逻辑提取到单独的模块,提供少量的接口给业务代码调用。 首先…
代码调优实践
刚刚看完《编程珠玑》,这是一本介绍算法设计和代码调优的程序员宝典,非常值得精读。在本篇文章中,则以一道概率题作为练习,涉及到书中介绍的随机抽样和代码调优的技巧。本文讨论的题目如下: 首先尝试以概率论的方式解决该问题。如果直接通过计算正向概率 ${P}$ 解决,则过程十分复杂。如…
《编程珠玑》读书笔记--应用篇
本章介绍了插入排序和快速排序两种排序算法的优化。 插入排序的原理是一个递推的过程,是在数组一端形成有序区,然后将无序区的元素逐一插入到有序区,有序区逐渐向无序区方向扩张的过程。例如数组{3, 1, 4, 2}的插入排序过程如下: 以上插入排序程序存在一个问题,调用swap函数也…
《编程珠玑》读书笔记--性能篇
问题定义:原话是“良好的问题定义可以避免用户对问题需求的过高估算”。也就是说接到一个问题时,也许问题本身就存在问题,也就是说可能在问题产生阶段可以通过一些简单的机制变动或措施就可以简单地解决或者显著简化问题,而无需使用非常复杂的程序手段去解决。因此,在开始程序设计之前,理解问题…
《编程珠玑》读书笔记--基础篇
说来惭愧,作为程序员直到现在才开始在真正意义上阅读《编程珠玑》这本程序员宝典。这本书介绍了很多平时写程序不会关注的细节,然而正是这些细节最能体现程序员的功底。书中一些地方写的比较晦涩(也可能是本人愚钝的原因🤣),有些结论作者只是一句带过,需要读者自己思考为什么,阅读过程中还是…
RunLoop与事件响应
在上一篇《调试iOS用户交互事件响应流程》中,调试了 iOS 事件响应的完整过程,但是只涉及了事件在 UIKit 的视图层级之间的传递的应用层的实现细节,具体到事件在哪里生成,如何分发到 UIKit 层的底层流程则未有提及。本文尝试从 RunLoop 入手,探索事件响应的底层流…
调试iOS用户交互事件响应流程
通常 iOS 界面开发中处理各种用户交互事件。其中,UIControlEvent以注册的 Target-Action 的方式绑定到控件;UIGestureRecognizer通过addGestureRecognizer:添加到UIView的gestureRecognizers属…
动态方法解析与消息转发的应用
因此可以断定,实现方法动态解析,是在+(BOOL)resolveInstanceMethod:(SEL)sel/+(BOOL)resolveClassMethod:(SEL)sel中,为类/元类的方法列表动态添加实例方法/类方法。 从方法动态解析的原理不难发现,其功能实现是和单…
Runtime源代码解读11(内存管理Weak)
Weak 指针是为了解决引用计数内存管理可能存在的循环引用问题而设计的,一种指向对象而不增加对象的引用计数,且指向的对象析构时能自动置nil的特殊指针。 在 NSObject.mm 中找到实现 weak 指针的关键代码template <bool HaveOld, bool H…
下一页
个人成就
文章被点赞
203
文章被阅读
54,468
掘力值
1,531
关注了
15
关注者
167
收藏集
1
关注标签
30
加入于
2019-09-26