微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > iOS开发常用的第三方类库

iOS开发常用的第三方类库

时间:10-08 来源:互联网 点击:

// Use when fetching text data

//NSString *responseString = [request responseString];

// Use when fetching binary data

NSData *responseData = [request responseData];

NSLog(@Connection didReceiveData of length: %u, responseData.length);

// Parse the new chunk of data. The parser will append it to

// its internal buffer, then parse from where it left off in

// the last chunk.

SBJsonStreamParserStatus status = [parser parse:responseData];

if (status == SBJsonStreamParserError) {

NSLog(@Parser error: %@, parser.error);

}else if (status == SBJsonStreamParserWaitingForData) {

NSLog(@Parser waiting for more data);

}

}];

[request setFailedBlock:^{

NSError *error = [request error];

NSLog(@failed - %@ %@, [error localizedDescription], error);

}];

[request startAsynchronous];

}

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top