常用的第三方
2019-12-30 本文已影响0人
woniu
一、HandyJSON
1、简要说明
HandyJSON是一个用于Swift语言中的JSON序列化/反序列化库。
与其他流行的Swift JSON库相比,HandyJSON的特点是,它支持纯swift类,使用也简单。它反序列化时(把JSON转换为Model)不要求Model从NSObject继承(因为它不是基于KVC机制),也不要求你为Model定义一个Mapping函数。只要你定义好Model类,声明它服从HandyJSON协议,HandyJSON就能自行以各个属性的属性名为Key,从JSON串中解析值。
2、HandyJSON原理
HandyJSON目前依赖于从Swift Runtime源码中推断的内存规则,任何变动我们将随时跟进。
序列化:就是将内存中的对象转换为字节序列,方便持久化到磁盘或者网络传输。
反序列化:就是将字节序列转换为内存中的对象。
HandyJSON使用文档
二、SnapKit
三、GrowingTextView
自适应高度输入框。
四、Kingfisher
相当于OC的SDWebImage,图片加载的第三方。
Kingfisher使用
五、Alamofire
六、ESPullToRefresh
ESPullToRefresh是一个非常易于开发者使用的下拉刷新和加载更多组件。通过一个UIScrollView的扩展,可以轻松为UIScrollView的所有子类添加下拉刷新功能。 如果你想定制组件的UI样式,只要实现指定的协议方法即可。
特性:
- 支持UIScrollView及其子类UICollectionView、UITableView、UIWebView等;
- 支持下拉刷新和上拉加载更多;
- 支持定制自己所需的样式;
- 支持刷新时间缓存,设置过期时间并策略刷新。
ESPullToRefresh
使用文章
七、SwiftTheme(换肤)
import SwiftTheme
// 创建一个枚举类型进行换肤
enum ChangeTheme:Int {
case theme1 = 0;
case theme2 = 1;
case theme3 = 2;
// 创建一个静态方法去换肤 去加载本地的plist文件
static func swiftTheme(_ theme:ChangeTheme){
switch theme {
case .theme1:
// 加载第一套主题文件
ThemeManager.setTheme(plistName: "theme1", path: .mainBundle);
case .theme2:
ThemeManager.setTheme(plistName: "theme2", path: .mainBundle);
case .theme3:
ThemeManager.setTheme(plistName: "theme3", path: .mainBundle);
}
}
}
八、BMPlayer
BMPlayer是基于 AVPlayer 使用 Swift 封装的视频播放器,方便快速集成。
功能:
- 支持竖屏切换,支持自动旋转屏幕
- 支持本地视频、网络视频播放
- 右侧 1/2 位置上下滑动调节屏幕亮度(模拟器调不了亮度,请在真机调试)
- 左侧 1/2 位置上下滑动调节音量(模拟器调不了音量,请在真机调试)
- 左右滑动调节播放进度
- 清晰度切换
- 自定义播放速度
- 自定义资源 HTTP Header
- 易于定制控制 UI
- 展示本地和在在线字幕文件
BMPlayer包含demo
九、JXBanner
JXBanner是banner位图的第三方,提供了多种风格款式,以供调用,我们可以根据需要来选择相应的款式。
JXBanner传送门