《iOS第三方框架》

Posted cx2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《iOS第三方框架》相关的知识,希望对你有一定的参考价值。

 

 


 

 

基础项目框架代码,本项目包含AFNetworking、Masonry、YYKit、MJRefresh、MBProgressHUD、SDWebImage、IQKeyboardManager、SDCycleScrollView、FDFullscreenPopGesture第三方框架

 

https://github.com/chuzhaozhi/BaseProject

 

 


 

 

2016-02-05

第三方框架

- 简书第三方框架 1. 常用第三方的底层实现原理 (SDWebImage AFNetworking EGORefresh) 其实是有沙盒缓存机制,主要由三块组成 1. 内存图片缓存 2....

第三方框架

1. 常用第三方的底层实现原理 (SDWebImage  AFNetworking  EGORefresh)

其实是有沙盒缓存机制,主要由三块组成

1. 内存图片缓存

2. 内存操作缓存

3. 磁盘沙盒缓存

4. 列举一下常用的第三方框架

答:我在做开发的过程中曾经用过以下第三方框架:

(1)AFNetworking 网络请求库

(2)SDWebImage 网络图片加载

(3)FMDB 数据库

(4)Masonry 自动布局

(5)UmengSDK/Share SDK 分享

(6) 融云 / 环信  即时通信

(7)ZBar/ZXing 二维码扫描和生成

(8)MBProgressHUD 风火轮

(9)GTMBase64  base64 编码解码

(10)MJRefresh 下拉刷新,上拉加载

(11) 百度 / 高德地图 SDK

5.MJRefresh 原理

答:给 UISCrollView 添加了分类,在分类中,根据 scrollView 的 contentOffset 进行判断方向和偏移量,当偏移量到某一个临界值的时候,开始切换 header 或者 footer 的状态,以呈现不同的 UI,当偏移量大于临界值并松开手的时候, 执行 block 回调或者 target..action 的方法, 主要在 block 或者 target..action 中进行网络请求,请求结束后,调用 endRefresh 方法,再次更改 header 或者 footer 的状态,使他们回到初始状态

关于常用的手码约束的第三方框架

有 Masonry 和 UIView+Autolayout

框架地址是:

https://github.com/Masonry/Masonry

https://github.com/smileyborg/UIView-AutoLayout

UIView+Autolayout 框架

这个相对于 masonry,是个轻量级的框架易于上手,里面一共也就两个文件。也非常好用,都是用 auto 开头。适用于约束不经常改变的项目

Masonry 框架

这个框架是重量级的里面好多文件,难于上手,但是用熟练了的话比上面那个牛 X,适合于约束要经常改变的项目。

写出常用的第三方框架

Reachability 检测网络连接用来检查网络连接是否可用:包括 WIFI 和 WWAN(3G/EDGE/CDMA 等) 两种工作模式。

MBProgressHUD 提示效果    支持各种状态加载的提示效果,以及带进度的提示效果。

SDWebImage 图片异步加载及缓存 SDWebImage 用于异步下载网络上的图片,并支持对图片的缓存等。

XMPP 现在做个实时聊天,XMPP 协议算是很成熟的方案了。XMPPFramework 一个很不错的选择,可以直接和 OpenFire 服务器打交道。

AFNetworking 网络请求

FMDB 数据库

Masonry 纯代码添加约束

ios 知名第三方框架和流行 APP 们所用的第三方框架小结

http://www.mamicode.com/info-detail-935799.html

6) 不使用第三方, 如何做下拉刷新, 加载

UITableView 本身是一个 UIScrollView,所以 UITableView 可以实现 UIScrollView 的代理方法。上拉和下拉刷新无非是 UIScrollView 偏移到一定程度调用刷新方法。 实现 - (void)scrollViewDidScroll:(UIScrollView*)scrollView 代理方法即可。

http://www.open-open.com/lib/view/open1390609384992.html

http://doc.okbase.net/ZeroHour/archive/119346.html

UITableView 是继承 scrollview 的,当你下拉结束的时候会走 scrollview 的回调,scrollViewDidEndDragging,然后在这个回调中,可以判断是否达到下拉的位置,然后做你该做的处理,比如刷新列表,加载数据等等

23.AFNetworking 内部实现原理

http://www.th7.cn/Program/IOS/201503/405717.shtml

40.AFNetworking 新版本和以前版本的区别,NSURLSession 使用

(1)NSURLConnection 的 API 已废弃

弃用的类

下面的类已从 AFNetworking 3.0 中废弃:

•AFURLConnectionOperation

•AFHTTPRequestOperation

•AFHTTPRequestOperationManager

修改的类

下面的类包含基于 NSURLConnection 的 API 的内部实现。他们已经被使用 NSURLSession 重构:

•UIImageView+AFNetworking

•UIWebView+AFNetworking

•UIButton+AFNetworking

(2)AFHTTPRequestOperation 核心代码

与 NSURLConnection 对象不同,每个共享应用范围的设置如会话管理、缓存策略、Cookie 存储以及 URL 协议等,这些 NSURLSession 对象都可以单独进行配置。使用特定的配置来初始化会话,它可以发送任务来获取数据,并上传或下载文件。

在 AFNetworking 2.0 中,使用 AFHTTPRequestOperation,有可能创建一个没有额外开销的独立的网络请求来获取数据。NSURLSession 则需要更多的开销,为了获得所要请求的数据。

(3)UIKit 的迁移

图片下载已经被重构,以遵循 AlamofireImage 架构与新的 AFImageDownloader 类。这个类的图片下载职责的代理人是 UIButton 与 UIImageView 的类目,并且提供了一些方法,在必要时可以自定义。类别中,下载远程图片的实际方法没有改变。

UIWebView 的类目被重构为使用 AFHTTPSessionManager 作为其网络请求。

UIAlertView 的类目被废弃

从 AFNetworking 3.0 后 UIAlertView 的类目因过时而被废弃。并没有提供 UIAlertController 类目的计划,因为这是应用程序应处理的逻辑,而不是这个库。

以上是关于《iOS第三方框架》的主要内容,如果未能解决你的问题,请参考以下文章

IOS第三方框架集合

IOS 第三方框架-MBProgressHUD

[iOS]数据库第三方框架FMDB详细讲解

iOS开发常用第三方框架

如何在 Xamarin.iOS 项目中添加第三方库/框架?

Xamarin.iOS 与第三方框架的绑定