该库在意图上与 AFNetworking 类似,但架构有所不同,功能更少,代码更少。它旨在提供(几乎)创建 HTTP 请求和管理 NSMutableURLRequest 经 NSOperation 和 NSOperationQueue 所需要的最小内容。
目前未在任何产品应用中使用。它打算与下一代 Socialize API 一起使用。除非您打算修复一个或两个错误,否则使用应该是实验性的。该项目具有大量的单元测试覆盖率。它足够小,错误应该很少,如果您愿意,可以快速了解正在发生的事情。
self.operationQueue = [[NSOperationQueue alloc] init];
self.operationQueue.maxConcurrentOperationCount = 5;
NSMutableURLRequest *request = [NSMutableURLRequest HTTPRequestWithMethod:@"GET" scheme:@"https" host:@"api.github.com" path:@"/users/socialize/repos" parameters:nil];
SZURLRequestOperation *operation = [[SZURLRequestOperation alloc] initWithURLRequest:request];
operation.URLCompletionBlock = ^(NSURLResponse *response, NSData *data, NSError *error) {
id json = [data objectFromJSONData];
NSLog(@"%@", json);
};
[self.operationQueue addOperation:operation];
NSString *payload = [@{@"udid": @"12345"} JSONString];
NSMutableURLRequest *request = [NSMutableURLRequest HTTPRequestWithMethod:@"POST" scheme:@"https" host:@"api.getsocialize.com" path:@"/v1/authenticate/" parameters:@{@"payload": payload}];
[request setAuthorizationHeaderWithConsumerKey:@"252f7ed8-2fe5-49a5-8b52-b5c06bd63891" consumerSecret:@"ea9dc991-fb32-4d40-9d85-aab35debf61c" token:nil tokenSecret:nil];
SZURLRequestOperation *operation = [[SZURLRequestOperation alloc] initWithURLRequest:request];
operation.URLCompletionBlock = ^(NSURLResponse *response, NSData *data, NSError *error) {
id result = [data objectFromJSONData];
NSLog(@"%@", result);
};
与 AFNetworking 的一些主要差异
计划中但尚未实现的功能