iOS开发常用的第三方类库
JSONKit JSON解析
GitHub:https://github.com/johnezang/JSONKit
提供比SBJson更优异的性能以及更加简便的使用方法,但是中文最好使用utf-8格式(\uXXXX),否则容易造成乱码。
API调用起来非常简单,省去了SBJson那么一大堆的方法:
1 2 | JSONDecoder* decoder = [[JSONDecoder alloc] initWithParseOptions:JKParseOptionNone]; id result = [decoder objectWithData:jsonData]; |
详细的使用方法请看它的GitHub主页。
SDWebImage 图片异步加载及缓存
SDWebImage用于异步下载网络上的图片,并支持对图片的缓存等。
多数情况下是使用UIImageView+WebCache为UIImageView异步加载图片:
1 2 3 4 | #import SDWebImage/UIImageView+WebCache.h> // ... [cell.imageView setImageWithURL:[NSURL URLWithString:@http://www.domain.com/path/to/image.jpg] placeholderImage:[UIImage imageNamed:@placeholder.png]]; |
需要注意的是,pladeholderImage的大小一定要大于UIImageView的大小,否则可能不显示placeholderImage图片。
它还支持block语法用于在加载完成时做一些操作:
1 2 3 | [cell.imageView setImageWithURL:[NSURL URLWithString:@http://www.domain.com/path/to/image.jpg] placeholderImage:[UIImage imageNamed:@placeholder.png] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {... completion code here ...}]; |
SDWebImage并不局限于UIImageView上,使用SDWebImageManager完成更多的操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | SDWebImageManager *manager = [SDWebImageManager sharedManager]; [manager downloadWithURL:imageURL options:0 progress:^(NSUInteger receivedSize,long long expectedSize) { // 下载进度 } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) { if (image) { // 下载完成 } }]; |
或者使用Image Downloader也是一样的效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 | [SDWebImageDownloader.sharedDownloader downloadImageWithURL:imageURL options:0 progress:^(NSUInteger receivedSize,long long expectedSize) { // 进度 } completed:^(UIImage *image, NSData *data, NSError *error,BOOL finished) { if (image finished) { // 下载完成 } }]; |
UIActivityIndicator-for-SDWebImage 为SDWebImage显示加载效果
GitHub:https://github.com/JJSaccolo/UIActivityIndicator-for-SDWebImage
用于为SDWebImage在UIImageView加载图片时,显示加载效果(UIActivityIndicatorView实现),它提供以下方法:
1 2 3 4 5 6 7 | - (void)setImageWithURL:(NSURL *)url usingActivityIndicatorStyle:(UIActivityIndicatorViewStyle)activityStyle; - (void)setImageWi |
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)