首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
_NSFish_
掘友等级
iOS 研发工程师
|
京东
少则得,多则惑
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
9
文章 9
沸点 0
赞
9
返回
|
搜索文章
赞
文章( 9 )
沸点( 0 )
如何 Override 带有默认参数的基类方法?
这与实际结果不符。 同样与实际结果不符。 的可怕后果。 这个做法的主要缺陷是不好处理多个默认参数。
如何安全使用dispatch_sync
iOS开发者在与线程打交道的方式中,使用最多的应该就是GCD框架了,没有之一。GCD将繁琐的线程抽象为了一个个队列,让开发者极易理解和使用。但其实队列的底层,依然是利用线程实现的,同样会有死锁的问题。本文将探讨如何规避disptach_sync接口引入的死锁问题。
深入理解GCD之dispatch_group
之前已经介绍了dispatch_semaphore的底层实现,dispatch_group的实现是基于前者的。在看源码之前,我们先看一下我们是如何应用的。假设有这么场景:有一个A耗时操作,B和C两个网络请求和一个耗时操作C当ABC都执行完成后,刷新页面。我们可以用dispatc…
MVVM 与 tableView,避免胶水代码
这是对前文基于 message forwarding 的轻量依赖注入容器实现 的一个实践。 抹一点点胶水没问题,但 app 里大部分页面都是 tableView 时,抹起来就很烦了。 VC 负责实现 view 相关的方法,VM 负责实现数据相关的方法,二者由 proxy 封装起…
基于 message forwarding 的轻量依赖注入容器实现
看着难受,用着难受,重构起来更难受。 One manager to rule them all。 一步步来看。 这里就不细说了。 这实际上是第二步 CompoundManager 的实现,可以和不同类型的 "ManagerFactory" 组合使用。 一个比较有趣的使用场景是 …
NSNumber 作为 Tagged Pointer 是如何被构造出来的?
从 SF 慢慢把文章搬过来。。。 本文以 NSNumber 为例,说明一个 Tagged Pointer 是怎样被创建出来的。 可以看到 n 并没有 isa,它确实不是一个 OC 的对象。 [NSNumber alloc] 返回的是NSPlaceholderNumber,有 i…
在 2017 年尝试 RN 开发是一种怎样的体验?
从 SF 慢慢把文章搬过来。。。 这篇吐槽文是 How it feels to learn JavaScript in 2016 的 RN 版本,并没有作指南的意思。 嗨,我准备搞个 side project,想用 React Native 来做。你是我们这 RN 最专精的老哥…
费曼学习法:简单有效的学习
从 SF 慢慢把文章搬过来。。。 无论爱因斯坦本人是否真的说过这样的话(没人找到过这句话正确的出处,所以很可能他没有),这都是一个有见地的观察。 通过用简单的术语解释一个概念,你会很快知道你是否已经理解了它。在解释的过程中,你可能会被卡住,或不得不使用复杂的术语,这些地方就是问…
能在编码时做的事,就不要推迟到运行时
从 SF 慢慢把文章搬过来。。。 软件是一个巨大的有限状态机。 工程师日常做的 bug 修复、性能调优,本质上就是尽可能保证代码处于有序状态下。尽可能多地将状态固定在编码时,就就减少了运行期的状态,使得软件的状态总数减少了。 以矩阵相乘为例。 如图所示,要保证第一个矩阵中的列数…
个人成就
文章被点赞
16
文章被阅读
7,593
掘力值
193
关注了
2
关注者
7
收藏集
0
关注标签
4
加入于
2019-09-15