第三方框架

作者: 丶逐渐 | 来源:发表于2016-02-25 00:01 被阅读485次

    第三方框架

    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类目的计划,因为这是应用程序应处理的逻辑,而不是这个库。

    相关文章

      网友评论

        本文标题:第三方框架

        本文链接:https://www.haomeiwen.com/subject/iaabkttx.html