我有这个函数在AFHTTPRequestOperationManager上调用GET方法:
var request:NSMutableURLRequest = ParseAPIClient.sharedClient.GET(className, parameters: parameters, success: { (operation:AFHTTPRequestOperation!, response:AnyObject!) -> Void in
if response.isKindOfClass(NSDictionary) {
self.writeJSONResponse(response, toDiskForClassWithName:className)
} else { NSLog("something happened") }
}, failure: { (operation:AFHTTPRequestOperation!, error:NSError!) -> Void in
NSLog("Request for class %@ failed with error: %@", className, error)
})
这会生成一个使用该请求创建AFHTTPRequestOperation的请求。该方法返回该操作以及对请求的响应。传入它的块将响应写入磁盘。
在旧的AF1.x代码中,我会使用:
SDAFParseAPIClient.sharedClient.enqueueBatchOfHTTPRequestOperations:operations progressBlock:^(NSUInteger numberOfCompletedOperations, NSUInteger totalNumberOfOperations) {
} completionBlock:^(NSArray *operations) {
if (!toDelete) {
self.processJSONDataRecordsIntoCoreData
} else {
self.processJSONDataRecordsForDeletion
}
}];
获取上面创建的操作并在之后执行其他操作的方法。 Iow,我会把数据写入磁盘并用那些self.processJSONDataRecords ...方法解析它。
我不确定新的等价物是什么?
答案 0 :(得分:1)
AFNetworking 2.0中的等效功能由AFURLConnectionOperation +batchOfRequestOperations:progressBlock:completionBlock:
提供。
这里的不同之处在于开发人员最终负责使用NSOperationQueue -addOperations:waitUntilFinished:
对批量操作数组进行排队。