iOS常用框架源码分析

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

空白页面占位图

  • LYEmptyView

状态栏顶部通知

  • JDStatusBarNotification

键盘监听管理工具

  • IQKayboardManager

相册选择图片

  • KSPhotoBrowser

Badge

  • WZLBadge

日历

  • GFCalendar
  • FSCalendar

状态栏上方显示手机状态

  • GDPerformanceView-Swift

跑马灯广告无线轮播

  • 大专栏  iOS常用框架源码分析target=”_blank” rel=”noopener noreferrer”>TXScrollLabelView
  • CCPScrollView

FAQ视图

  • FAQView

卡片界面

  • DMSwipeCards

模仿Airbnb首页过渡动画

  • JPAnimation

界面转场动画集

  • WXSTransition

iOS的CSS

  • StyleKit

动画加号按钮

  • YGPulseView

Swift 3快速异步助手

  • Do.this

密码输入切换框

  • UXPasscodeField

美颜相机(仿faceU)

  • MARFaceBeauty
  • XIUSDK–美图,美颜

多功能数据pickerView

  • DLPickerView

直播

  • LFLiveKit
  • IJKMediaFramework

视频播放

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

VR播放器

  • MDVRLibrary

知识整合,学习资源

  • AxcUIKit
  • BigShow1949

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