Я пытаюсь загрузить изображение в моем знамени, а также URL для этого баннера и все просто отлично, за исключением его apears через несколько секунд (10+ сек)Получить изображение с задержкой URL
Сначала я думал, что это может быть скорость соединения, но если я жестко запрограммировал строку, в которой изображение должно появиться, оно появляется немедленно.
Вот что я делаю прямо сейчас.
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:adUrl completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
adJson = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
adImageURL = [NSString stringWithFormat:@"%@", adJson[@"sponsor"][@"sponsor_image"]];
adUrlString = [NSString stringWithFormat:@"%@", adJson[@"sponsor"][@"sponsor_url"]];
[UIApplication sharedApplication].networkActivityIndicatorVisible=NO;
// Set adImage
[[self adBanner]setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:adImageURL]]]];
// Ad TapGuestures to adImage
UITapGestureRecognizer *adTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(adTapMethod)];
[[self adBanner]setUserInteractionEnabled:YES];
[[self adBanner]addGestureRecognizer:adTap];
}];
[dataTask resume];
Как я уже сказал, если я:
[[self adBanner]setImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"example.com/img.png"]]]];
и поставить этот код из NSURLSessionDataTask он apears ни в секунду.
Что я делаю неправильно и как получить изображение как можно быстрее?
убедитесь, что вы работаете в 'setImage' на главной очереди – kezi
Как я могу сделать, что я новичок в разработке IOS –
Смотрите мой ответ на' dispatch_async (dispatch_get_main_queue() '. – kezi