desgard.com

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 相互对应,这引起了笔者对...

load 方法全程跟踪

几天前 Github 的 RetVal 大神更新了可 debug 版本的 706 <objc/runtime.h> 源码,于是让源码阅读学习得以继续。本文将介绍个人学习 load 方法的全部流程。 load 方法的调用时机 从...

玩转运动世界校园

原文链接:www.hackswjtu.com 作者:冬瓜 最近由于礼品机制,官方服务器人工查询可能较为严格。所以在实验的时候切勿使用个人账号进行脚本刷数据,以免造成被拉黑的情况。 上个礼拜,我们的小组织 HackSwjtu 破解了 运动世界校园 这款 app。与其说是破解 app,不如说是我们破解了它的网络接口。 以下是我们进行这个小项目的全部过程。 意外截获请求负载信息 运动世界校园 拥有一套很有意思的跑步规则,在选择目标距离后,在地图上回“随机”给出多个待检测点,而在这些点中,你必须要经过几个,路线随意,这样才完成了跑步评测的第一步。而在跑步结束后,软件还会计算你的跑步平均速度,如果偏差太大(过快或过慢)也不会记录成为有效成绩。 好奇心驱使下,我们对其进行抓包,想看一看大致的实现过程。我们分别对设置目标距离、产生随机点和上传数据三个请求进行了抓包,其结果如下(测试环境...