Задать вопрос

Как выполнить загрузку NSData в другом потоке?

Как выполнить следующий код в бэкграунде так, что бы он не грузил интерфейс?

NSData *data = [NSData dataWithContentsOfURL:url];
    
    _serial.poster = data;
  • Вопрос задан
  • 2471 просмотр
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    iOS-разработчик
    10 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@mozilla9
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
       NSData *data = [NSData dataWithContentsOfURL:url];
        
        // если нужно обработать результат в главном потоке
        dispatch_async(dispatch_get_main_queue(), ^{
           _serial.poster = data;
        });

    });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы