Работа с сетью через async - await в Swift / Xcode | Apple | iOS

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 เม.ย. 2023
  • Рассмотрим второй вариант работы с сетью - современный, с помощью асинхронных async - await функций
    Запись на курс:
    Телеграм: @WladMadi
    Телефон: +7 (967) 901-73-24
    Информация о курсе: madi.study
    Ссылка на телеграм-чат:
    t.me/+SBRqlvcbDWQ0ZGNi
    PS: Всем привет! Меня зовут Влад Мади, Вы на образовательном канале диджитал-студии MADI.SPACE. Здесь мы учимся разрабатывать приложения под iOS на языке Swift. На нашем канале Вы можете изучать Swift и разработку под iOS по плейлистам.

ความคิดเห็น • 25

  • @2e-gq1zu
    @2e-gq1zu 2 หลายเดือนก่อน

    Спасибо за видео, очень просто и понятно, если бы раньше встретила, взяла бы этот курс, а не тот, после которого другие видосы приходится смотреть, чтобы разобраться

    • @MadiSpace
      @MadiSpace  2 หลายเดือนก่อน +1

      Лишний повод рассказать знакомым, чтобы не наступили на Ваши грабли)

  • @Ka4aH
    @Ka4aH ปีที่แล้ว +1

    С возвращением! Приятно снова видеть тебя))

  • @valeriid6543
    @valeriid6543 ปีที่แล้ว +2

    Спасибо за вашу работу. Было бы супер, если бы вы выпустили отдельный ролик про роботу async - await

    • @MadiSpace
      @MadiSpace  ปีที่แล้ว +1

      Пожалуйста! Отдельный ролик в плане про сам механизм?

    • @valeriid6543
      @valeriid6543 ปีที่แล้ว

      @@MadiSpace Да, про сам механизм, его работу и когда и как его можно применять.

  • @apbrandom
    @apbrandom 11 หลายเดือนก่อน

    Супер!

  • @akaialiev3866
    @akaialiev3866 ปีที่แล้ว +1

    Наконец-то!!!

  • @vibemp470
    @vibemp470 ปีที่แล้ว +2

    пока я джуном уверенным не стану даже не вздумай бросать канал

    • @asiaregion3600
      @asiaregion3600 9 หลายเดือนก่อน

      ну как?стал?

  • @true_rocknrolla
    @true_rocknrolla ปีที่แล้ว +1

    Отлично! Спасибо за видео! Расскажите ещё пожалуйста про применение Task подробнее

  • @bulgakov1991
    @bulgakov1991 5 หลายเดือนก่อน

    классно объясняешь, спасибо,

    • @MadiSpace
      @MadiSpace  4 หลายเดือนก่อน +1

      Пожалуйста! И успехов в обучении

    • @bulgakov1991
      @bulgakov1991 4 หลายเดือนก่อน

      @@MadiSpace благодарю

  • @sarvarqosimov8363
    @sarvarqosimov8363 ปีที่แล้ว +2

    👍

  • @dimasdimasov6652
    @dimasdimasov6652 ปีที่แล้ว

    👍🏻👍🏻👍🏻

  • @zenyp71
    @zenyp71 ปีที่แล้ว +1

    Кто нибудь сталкивался с такой штукой? в эмуляторе программа работает выполняет все как надо, а при запуске на iPhone тупо ничего не происходит. я уже всю голову сломал... Программа по примеру из этого видео. парсит JSON (простая проверка авторизации)

  • @zoomle_iOS
    @zoomle_iOS ปีที่แล้ว

    Не получается этот метод в UIkit применить. При нажатии на ячейку в таблице, должен быть переход на другой VC в котором пытался вызвать метод который при помощи данного в ролике NetworkManagerAsync загружает картинку в UIImageView
    Так swift заставил добавить в метод didSelectRowAt - async, а к вызываемому методу добавить await
    В итоге в симуляторе ничего не грузится и даже не переходит в этот другой VC

    • @MadiSpace
      @MadiSpace  ปีที่แล้ว

      А что, если уже внутри второго контроллера подгрузить данные из сети?

    • @MadiSpace
      @MadiSpace  ปีที่แล้ว

      Либо в Task обернуть вызов внутри didSelectRow

    • @zoomle_iOS
      @zoomle_iOS ปีที่แล้ว

      @@MadiSpace Так внутри второго контролера и пытаюсь вызвать загрузку изображения с помощью NetworkManager.shared..
      В didSelectRow в первом контролере создаю второй контролёр, из него вызывается метод configureWith() куда передается нужная моделька и потом пушится второй контролёр. Внутри этого configureWith вызывается Network Manager для загрузки изображений.
      'async' call in a function that does not support concurrency
      Add 'async' to function 'tableView(_:didSelectRowAt:)' to make it asynchronous

    • @zoomle_iOS
      @zoomle_iOS ปีที่แล้ว

      Влад, спасибо.
      Обернул в Task {} вызов функции внутри didSelectRow и всё полетело!
      Я пока не сильно знаком с этими новомодными методами, изучаю )
      Отличный ролик!
      Сам являюсь куратором студентов, в одной из онлайн школ по обучению Swift. Всегда советую начинающим разработчикам твой канал )

    • @MadiSpace
      @MadiSpace  ปีที่แล้ว +2

      Аа так вот кто это делает)

  • @vano4d
    @vano4d ปีที่แล้ว

    Спасибо за отличное видео! Встроил асинхрон в своё тренировочное приложение с фильмами -- подключился к API IMDB. Однако если в нужный момент использовать конструкцию Task - do - catch, то каждый раз вызывается API, это расточительно. Мне нужно один раз получить данные, записать их в переменную, а потом пользоваться.
    Получается такая конструкция:
    --
    Task {
    do {
    let result = try await
    NetworkServiceWithAsync.shared.fetchData()
    print("First name: \(result.items[3].title)")
    } catch {
    print(NetworkingError.invalidData)
    }
    }
    ---
    к сожалению, переменной result не получается воспользоваться за пределами конструкции Task. Как быть?

    • @user-qn9bw1hz2f
      @user-qn9bw1hz2f 8 วันที่ผ่านมา +1

      Вынеси объявление переменной из Таск. Напиши её над объявлением Таска