SDWebImage

NSCache

  • 类似可变字典,线程安全,使用可变字典自定义实现缓存时需要考虑加锁和释放锁
  • 在内存不足时NSCache会自动释放存储的对象,不需要手动干预
  • NSCache的key不会被复制,所以key不需要实现NSCopying协议

第三方框架

网络

1.PPNetworkHelper

  • 对AFNetworking 3.x 与YYCache的二次封装
  • 简单易用,包含了缓存机制,控制台可以直接打印json中文字符

2..YTKNetwork

  • 猿题库研发团队基于AFNetworking封装的iOS网络库
  • 适合稍微复杂一些的项目,不适合个人的小项目

基础组件库

YYKit

  • YYModel— 高性能的 iOS JSON 模型框架。
  • YYCache— 高性能的 iOS 缓存框架。
  • YYImage— 功能强大的 iOS 图像框架。
  • YYWebImage— 高性能的 iOS 异步图像加载框架。
  • YYText— 功能强大的 iOS 富文本框架。
  • YYKeyboardManager— iOS 键盘监听管理工具。
  • YYDispatchQueuePool— iOS 全局并发队列管理工具。
  • YYAsyncLayer— iOS 异步绘制与显示的工具。
  • YYCategories— 功能丰富的 Category 类型工具库。

    图像异步加载使用的NSURLConnection,还是建议使用SDWebImage。

等待加载提示

  • MBProgressHUD
  • SVProgressHUD
  • UAProgressView

空白页面占位图

状态栏顶部通知

键盘监听管理工具

  • IQKayboardManager

相册选择图片

  • KSPhotoBrowser

Badge

  • WZLBadge

日历

  • GFCalendar
  • FSCalendar

状态栏上方显示手机状态

跑马灯广告无线轮播

FAQ视图

卡片界面

模仿Airbnb首页过渡动画

界面转场动画集

iOS的CSS

动画加号按钮

Swift 3快速异步助手

密码输入切换框

美颜相机(仿faceU)

多功能数据pickerView

直播

  • LFLiveKit
  • IJKMediaFramework

视频播放

  • VIMVideoPlayer
  • CLPlayer(tableViewCell、全屏播放)
  • JPVideoPlayer(自动播放)

VR播放器

  • MDVRLibrary

知识整合,学习资源

参考资料:
(iOS及Mac开源项目和学习资料【超级全面】)[http://www.open-open.com/lib/view/open1442664670352.html]

iOS常用框架源码分析的更多相关文章

  1. Android Small插件化框架源码分析

    Android Small插件化框架源码分析 目录 概述 Small如何使用 插件加载流程 待改进的地方 一.概述 Small是一个写得非常简洁的插件化框架,工程源码位置:https://github ...

  2. YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)

           YII 框架源码分析    百度联盟事业部——黄银锋 目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 ...

  3. Spark RPC框架源码分析(二)RPC运行时序

    前情提要: Spark RPC框架源码分析(一)简述 一. Spark RPC概述 上一篇我们已经说明了Spark RPC框架的一个简单例子,Spark RPC相关的两个编程模型,Actor模型和Re ...

  4. 介绍开源的.net通信框架NetworkComms框架 源码分析

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 售价249英镑 我曾经花了 ...

  5. Spark RPC框架源码分析(一)简述

    Spark RPC系列: Spark RPC框架源码分析(一)运行时序 Spark RPC框架源码分析(二)运行时序 Spark RPC框架源码分析(三)运行时序 一. Spark rpc框架概述 S ...

  6. Spark RPC框架源码分析(三)Spark心跳机制分析

    一.Spark心跳概述 前面两节中介绍了Spark RPC的基本知识,以及深入剖析了Spark RPC中一些源码的实现流程. 具体可以看这里: Spark RPC框架源码分析(二)运行时序 Spark ...

  7. nodejs的Express框架源码分析、工作流程分析

    nodejs的Express框架源码分析.工作流程分析 1.Express的编写流程 2.Express关键api的使用及其作用分析 app.use(middleware); connect pack ...

  8. laravel框架源码分析(一)自动加载

    一.前言 使用php已有好几年,laravel的使用也是有好长时间,但是一直对于框架源码的理解不深,原因很多,归根到底还是php基础不扎实,所以源码看起来也比较吃力.最近有时间,所以开启第5.6遍的框 ...

  9. Android网络框架源码分析一---Volley

    转载自 http://www.jianshu.com/p/9e17727f31a1?utm_campaign=maleskine&utm_content=note&utm_medium ...

随机推荐

  1. NSPredicate 应用

    //查询单词里面包含“ang”的字符串 NSArray *array = [[NSArray alloc]initWithObjects:@"beijing",@"sha ...

  2. 解决ubuntu16.04启动时长时间陷入紫屏

    今天我的ubuntu系统进不去,一启动就陷入紫屏的死循环中,重装了两遍系统还是一样进不去,后来上网查找了各种解决办法,网上都说是显卡的问题,我也不懂什么意思.试了几种方法,终于解决了这个问题,在这里记 ...

  3. MySQL出现错误1030-Got error 28 from storage engine

    磁盘空间不足引起的!1030-Got error 28 from storage engine df -h 清理空间

  4. linux下U盘变成只读文件系统的修复

    问题描述: U盘插入linux下后变成了只读文件系统,不能再往u盘里拷贝文件. 总结:产生这个问题的原因可能是u盘文件系统损坏,操作系统为了防止它损坏系统,将它设置成了只读 修复方法: 在window ...

  5. 字典 -> model

    1.使用KVC init(dict : [String : Any]) { super.init() setValuesForKeys(dict) } override func setValue(_ ...

  6. iMX6Q/PLUS开发板烧写设备树内核的Ubuntu系统

    基于迅为-iMX6D.iMX6Q 和 iMX6PLUS 三个硬件版本,设备树镜像的烧写方法以及镜像所在目录,镜像名称全部一致,所以作者将烧写章节合并到一起. 请注意,如果购买的是 iMX6D 版本,想 ...

  7. mysql计算时间差-本例为计算分钟差然后/60计算小时保留一位小数,由于直接得小时只会取整

    -- ORDER_TIME datetime NOT NULL(字段类型)SELECTso.`ID`,so.`ORDER_TIME`,NOW(),CONCAT(ROUND(TIMESTAMPDIFF( ...

  8. Linux安装vmtools工具

    1.vmware菜单中虚拟机下安装vmtools: 2.将/mnt/cdrom/下的文件copy至可读写的文件夹下,此处我选择downloads目录下(如果提示此文件夹只为可读文件夹时) 3.使用ta ...

  9. 1)session总结

    (1)session的由来: HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如何记住众 ...

  10. [LC] 129. Sum Root to Leaf Numbers

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...