desgard.com

Shadowsocks Probe I - Sock5 与 EventLoop 事件分发

#define 爱国 科学 最近 Apple Store 在大陆下架了所有 VPN 应用。然而日常的爱国上网已经成为了刚需。这也就是促使我阅读 Shadowsocks 源码的原因。希望后期可以自行编写移动设备的 Client 端而努力。 Shadowsocks 的原理初探...

Swift Probe - Optional

最近在研究 Swift 中好玩的东西,打算将一些学习笔记,整理成一个系列便于自己温习且与大家交流。这次来玩弄一下 Optional。 Optional 引入由来 Optional 特性是 Swift 中的一大特色,用来解决变量是否存有 nil 值的情况。这样既可减少在数据传递过程中,由于 nil 带来的不确定性,防止未处理 nil...

SDWebImage Source Probe: Operation

很久没有更博客,最近都在忙着毕业设计和一些小项目,所以学习精力有些分散,读源码的时间大幅度缩水。是时候继续更新了。 在解读 Operation 部分的源码之前,需要先了解一下关于 NSURLSession 的一些知识。 对于 NSURLSession 的一些知识 NSURLSession 是于 2013 年随着 iOS 7...

BannerHoverView - 解耦 TableView Header 实现悬停

邻近毕业,在完成毕设及论文之余,在帮助老师的创业公司写一个体育类 App。在其中遇到了这么一个需求,如下动图所示: 其实在很多的 App 中都需要这样的样式,尤其在个人设置页面中需要让个人信息的 Banner 视图部分悬停在顶部作为一个 Navigation Bar 的占位从而合理的展示页面。如何流畅的展现这个滑动过程呢?这篇博文为解决该布局和页面需求做出一个实验性的探索。 悬停效果 对于悬停的第一反应,自然是想起了 TableView 的 Header...

复用的精妙 - UITableView 复用技术原理分析

本文截图来源于 爱奇艺电视果 iOS 客户端。 在现在很多公司的 app 中,许多展示页面为了多条数据内容,而采用 UITableView 来设计页面。在滑动 UITableView 的时候,并不会因为数据量大而产生卡顿的情况,这正是因为其复用机制的特点。但是其复用机制是如何实现的?我决定来探索一番。 Chameleon PROJECT Chameleon 是我长期以来一直关注的一个项目。接触过...

CFArray 的历史渊源及实现原理

在 iOS 开发中,NSArray 是一个很重要的数据结构。尤其 TableView 中的数据缓存与更新, NSArray 来缓存数据以及对于显示数据的修改操作。而在 Core Foundation 中 CFArray 与 NSArray 相互对应,这引起了笔者对...