首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
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…