如果我想从iOS应用程序是什么这样做的最成熟的库打REST服务? 什么是我的最佳选择?
Answer 1:
您可以使用RestKit 。
或者你可以使用NSJSONSerialization
这已经是在基础框架。
下面是一个项目,我做了个例。 它取从一个JSON web服务饮料的数组:
NSString *urlString= [NSString stringWithFormat:@"my json webservice URL"];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
NSDictionary *jsonResultSet = (NSDictionary*)[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
if ([jsonResultSet count] !=0){
NSArray* drinks = [jsonResultSet objectForKey:@"drinks"];
for (NSDictionary* drinkDictionary in drinks) {
Drink* drink = [[Drink alloc] initWithDictionary:drinkDictionary];
[[DrinkList getInstance]addDrinksWithObject:drink];
}
}
Answer 2:
我建议AFNetworking 。 以下是从其获得的样品代码Github上页 (那边有更多的样本):
NSURL *url = [NSURL URLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"App.net Global Stream: %@", JSON);
} failure:nil];
[operation start];
其他的选择是:
- RestKit
- LRResty
- MKNetworkKit
所有这些,我想AFNetworking和RestKit都是最受欢迎的。 我个人使用广泛AFNetworking,所以我为什么推荐它。
Answer 3:
没有那么成熟,但重量很轻: JNRestClient
Answer 4:
还有一个名为Alamofire新的SWIFT休息库( https://github.com/Alamofire/Alamofire ),似乎真的很好,它在GitHub上已经有超过6000分和它已被马特·汤普森创建这意味着你可以去了无后顾之忧。
Answer 5:
JSONModel是使用相当简单。
大衣 + 幔看起来非常好。
RestKit有点冗长,恕我直言。
文章来源: iOS Most mature REST service library