From 1871f3d5298efb978be825b03fd9c20ff4c204a8 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Thu, 21 Mar 2019 01:23:22 +0300 Subject: APIClient fetchImageWithURL --- Juick/APIClient.m | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'Juick/APIClient.m') diff --git a/Juick/APIClient.m b/Juick/APIClient.m index d3bd248..fdc4005 100644 --- a/Juick/APIClient.m +++ b/Juick/APIClient.m @@ -12,6 +12,7 @@ @interface APIClient() @property(nonatomic, readwrite) AFHTTPSessionManager *manager; @property(nonatomic, strong) NSOperationQueue *backgroundQueue; +@property(nonatomic, strong) NSURLSession *urlSession; @end @implementation APIClient @@ -36,6 +37,7 @@ self.dateFormatter = [[NSDateFormatter alloc] init]; self.dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; [self.dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; + _urlSession = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; } return self; } @@ -203,6 +205,17 @@ } +- (void)fetchImageWithURL:(NSURL *)url callback:(void (^)(NSData *))callback { + NSURLSessionDataTask *dataTask = [self.urlSession dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { + [[NSOperationQueue mainQueue] addOperationWithBlock:^{ + callback(data); + }]; + }]; + [self.backgroundQueue addOperationWithBlock:^{ + [dataTask resume]; + }]; +} + +(NSString *) messagesUrl { return @"messages"; } -- cgit v1.2.3