यह पहली बार जोड़ने के लायक है (जैसा कि यह उत्तर अभी भी लोकप्रिय है 6 साल बाद मैंने इसे शुरू में लिखा है ...) कि पहली बात जिस पर आपको विचार करना चाहिए कि क्या आपको AFNetworking का उपयोग करना चाहिए। NSURLSession iOS 7 में जोड़ा गया था और इसका मतलब है कि आपको कई मामलों में AFNetworking का उपयोग करने की आवश्यकता नहीं है - और एक कम तृतीय पक्ष पुस्तकालय हमेशा एक अच्छी बात है।
AFNetworking 3.0 के लिए:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSDictionary *params = @{@"user[height]": height,
@"user[weight]": weight};
[manager POST:@"https://example.com/myobject" parameters:params progress:nil success:^(NSURLSessionTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
AFNetworking 2.0 के लिए (और साथ ही नए एनएसडीआर सिंटैक्स का उपयोग करते हुए):
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *params = @{@"user[height]": height,
@"user[weight]": weight};
[manager POST:@"https://example.com/myobject" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
यदि आप AFNetworking 1.0 का उपयोग कर रहे हैं, तो आपको इसे इस तरह से करने की आवश्यकता है:
NSURL *url = [NSURL URLWithString:@"https://example.com/"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
height, @"user[height]",
weight, @"user[weight]",
nil];
[httpClient postPath:@"/myobject" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"Request Successful, response '%@'", responseStr);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"[HTTPClient Error]: %@", error.localizedDescription);
}];