iOS常用的第三方框架

来源:互联网 发布:mac怎么给文件夹加密 编辑:程序博客网 时间:2024/05/29 14:38

    在iOS开发中不可避免的会用到一些第三方类库,它们提供了很多实用的功能,使我们的开发变得更有效率;同时,也可以从它们的源代码中学习到很多有用的东西。下面是一些比较常用的第三方矿建,有我自己用过的,也有在网上搜索的。


HTTP

相比较之下,AFNetworking是目前最优秀的一个了:轻量、易用、使用者多、开发者有在积极维护。在AFN出现之前,这个角色是由ASIHTTPRequest扮演的,只是到现在年久失修了。关于AFN和ASI的对比,这里有一篇不错的文章http://www.infoq.com/cn/articles/afn_vs_asi。除此之外,MKNetworkKit和RestKit也有一定的使用者。


Reachability :检测网络连接

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

现在有更好的替代品:https://github.com/tonymillion/Reachability,比Apple提供的兼容性更好,而且更加好用,更具体的使用方法请看它提供的例子。


JSON
JSONKit算是第三方中最优秀的一个了:性能很高,文件少。在JSONKit之前,SBJson非常非常流行,但是SBJson性能够差,只是由于历史原因仍然存在在某些工程里面。如果工程只需要支持iOS5以上的系统,那就可以放弃那些第三方Json库了,直接用系统提供的NSJSONSerialization,性能比第三方的好,又是官方API。


ASIHTTPRequest网络请求

ASIHTTPRequest是对CFNetwork API的一个包装,它提供了一套更加简洁的API,使用起来也更加简单。

官方网站:http://allseeing-i.com/ASIHTTPRequest/

GitHubhttps://github.com/pokeb/asi-http-request

它不仅仅支持基本的HTTP请求,而且支持基于REST的服务(GET/POST/PUT/DELETE)


MBProgressHUD提示效果

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

GitHubhttps://github.com/matej/MBProgressHUD

一般会在.m文件实现MBProgressHUDDelegate协议,并声明HUD变量。


SVProgressHUD提示效果

GitHubhttps://github.com/samvermette/SVProgressHUD

SVProgressHUDMBProgressHUD效果差不多,不过不需要使用协议,同时也不需要声明实例。


ZAActivityBar提示效果

GitHubhttps://github.com/zacaltman/ZAActivityBar

ZAActivityBarSVProgressHUD非常相似,它提供了更加简洁的API来显示提示效果。

ZAActivityBar使用的动画效果来源于ZKBounceAnimation(https://github.com/khanlou/SKBounceAnimation),成功、失败的状态图标来源于Pictos(http://pictos.cc/)

显示加载状态:

[ZAActivityBar showWithStatus:@"加载中..."];

显示成功、失败状态:

[ZAActivityBar showSuccessWithStatus:@"成功!"];[ZAActivityBarshowErrorWithStatus:@"失败!"];

隐藏提示:

[ZAActivityBardismiss];

官方:http://sbjson.org/

GitHubhttps://github.com/stig/json-framework

API使用起来稍显繁琐,特别是初始化的时候。


SDWebImage图片异步加载及缓存

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

多数情况下是使用UIImageView+WebCacheUIImageView异步加载图片

UIActivityIndicator-for-SDWebImageSDWebImage显示加载效果

GitHubhttps://github.com/JJSaccolo/UIActivityIndicator-for-SDWebImage

用于为SDWebImageUIImageView加载图片时,显示加载效果

UIImage+Resize调整图片大小

GitHubhttps://github.com/coryalder/UIImage_Resize

提供多种方法为图片设置透明度、圆角、裁剪、调整大小等:

- (UIImage*)imageWithAlpha;- (UIImage*)transparentBorderImage:(NSUInteger)borderSize;- (UIImage *)roundedCornerImage:(NSInteger)cornerSizeborderSize:(NSInteger)borderSize;- (UIImage*)croppedImage:(CGRect)bounds;- (UIImage *)thumbnailImage:(NSInteger)thumbnailSize         transparentBorder:(NSUInteger)borderSize              cornerRadius:(NSUInteger)cornerRadius      interpolationQuality:(CGInterpolationQuality)quality;- (UIImage *)resizedImage:(CGSize)newSize    interpolationQuality:(CGInterpolationQuality)quality;-(UIImage *) resizedImageWithContentMode:(UIViewContentMode)contentMode                      bounds:(CGSize)bounds        interpolationQuality:(CGInterpolationQuality)quality;


ImageCacheResize异步加载图片、缓存及调整大小

整合了SDWebImageUIImage+Resize的功能,用于图片的异步加载、缓存、以及下载完成后调整大小并显示在UIImageView上。





0 0
原创粉丝点击