首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
源码解析
订阅
CoderYLZhang_
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
OCMock 源码分析
单元测试作为日常工作中不可或缺的部分,虽然增加了需求开发的工作量,但能在一定程度上提高代码的稳定性。特别是迭代时通常能更快更准确的验证以往的算法或边界是否异常,避免手工测试时漏掉历史逻辑细节。 对于新增代码来说,保证可测试性能让单测能顺畅的编写,不过若我们需要为历史代码添加单测…
深入理解 YYCache
YYCache 是一个高性能的缓存框架,由 ibireme 开发,项目中使用到了 YYCache 作为缓存方案,下面就来掰扯一下它的实现机制,解释它高性能的来由,LRU 算法的实现,使用到的锁,以及删除缓存的时机等,另外还有一些框架我觉得可能存在的问题。 苹果也有自己的缓存方案…
AFNetworking底层源码解析
AFNetworking是适用于iOS,macOS,watchOS和tvOS的的网络库。它构建于Foundation URL系统之上,扩展了Cocoa内置的强大的高级网络抽象。它采用模块化架构,设计精良,功能丰富的API,使用起来非常简单。本文重点介绍缓存和安全两个模块; 二.…
AFNetworking 到底做了什么?
作为一个 iOS 开发,也许你不知道 NSUrlRequest、不知道 NSUrlConnection、也不知道 NSURLSession...(说不下去了... 怎么会什么都不知道...)但是你一定知道 AFNetworking。 大多数人习惯了只要是请求网络都用 AF,但是你真的知道 AF 做了什么吗?为什么我们不用原生的 NSURLSession 而选择 AFNetworking?
从 YYCache 源码 Get 到如何设计一个优秀的缓存
本文将结合 YYCache 的源码逐步带大家找到答案。 YYCache 是一个线程安全的高性能键值缓存(该项目是 YYKit 组件之一)。YYKit 是在 2015 年发布到 Github 的,由于其代码质量很高,在短时间内就收获了大量的 Star(目前已经 1w+ Star …
iOS复习和面试中有关SDWebImage可能知识点总结(2)
1. SDWebImage怎么实现缓存的? 分为内存缓存(利用SDImageCache类的NSCache属性),磁盘缓存(利用NSFileManager),和操作缓存(利用runtime关联的字典属性)。下载之前先查询缓存,没有就下载并在下载后保存图片到缓存。 2. SDWeb…
有始有终,设计一个结构合理的下载模块
在着手编码之前,先明确功能需求、技术需求,然后进行初步的思考。 从目标出发,能够帮助明确设计过程中的侧重点。对于下载这个场景,很直观可以想到,它涉及到的文件操作、持久化存储等步骤是会频繁出现在一个项目中的。所以我会希望为下载模块写的大量代码能够被良好复用。同时可以预见,下载这一…
VVeboTableView 源码解析
这次分享一个关于性能优化的源码。 最近在看一些iOS性能优化的文章,我找到了VVeboTableView这个框架。严格来说这个不属于框架,而是作者用自己的方式优化UITableView的一个实践。 从图中我们可以看出,作者从减少CPU/GPU计算量,按需加载cell,异步处理c…
Kingfisher源码阅读(一)
Kingfisher是swift语言编写的一款非常受欢迎的图片加载库,功能和OC语言编写的SDWebImage类似。作者猫神是我初入iOS开发到现在都很崇拜的偶像。 1. Kingfisher.swift文件中 不知道你是否对上面使用方法中的kf好奇,我记得我第一次使用的时候,…
HandyJSON实现方案浅析
Swift在运行时为程序中的每个类型都保留了元数据用于记录(类比OC的元类),包括每个泛型类型的实例.这些数据都是由编译器静态生成,且每种类型都有唯一的元数据记录.元数据在运行时根据需要进行延迟创建~ MetaData的信息 就存储在类别指针的第一个字节中. 现在主要关注 Cl…