Skip to content

Instantly share code, notes, and snippets.

@galileoguzman
Created February 5, 2016 00:58
Show Gist options
  • Save galileoguzman/597c68d1770b1dfc8851 to your computer and use it in GitHub Desktop.
Save galileoguzman/597c68d1770b1dfc8851 to your computer and use it in GitHub Desktop.
How to make common method to call api

#How to use NSURLSession

http://stackoverflow.com/questions/24851772/how-to-return-nsdata-from-nsurlsessiondatatask-completion-handler

+ (NSURLSessionDataTask *)postCall:(NSDictionary *)parameters fromURL:(NSString *)url completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler {

    // create your request here ...

    NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        if (completionHandler)
            completionHandler(data, response, error);
    }];

    [dataTask resume];

    return dataTask;
}

The call

NSURLSessionTask *task = [MyClass postCall:parameters fromURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// put whatever code you want to perform when the asynchronous data task completes
}];

if (!task) {
    // handle failure to create task any way you want
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment