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

Поділитися
Вставка
  • Опубліковано 15 гру 2024

КОМЕНТАРІ • 25

  • @2e-gq1zu
    @2e-gq1zu 6 місяців тому

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

    • @MadiSpace
      @MadiSpace  6 місяців тому +1

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

  • @valeriid6543
    @valeriid6543 Рік тому +2

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

    • @MadiSpace
      @MadiSpace  Рік тому +1

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

    • @valeriid6543
      @valeriid6543 Рік тому

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

  • @Ka4aH
    @Ka4aH Рік тому +1

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

  • @akaialiev3866
    @akaialiev3866 Рік тому +1

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

  • @true_rocknrolla
    @true_rocknrolla Рік тому +1

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

  • @bulgakov1991
    @bulgakov1991 9 місяців тому

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

    • @MadiSpace
      @MadiSpace  9 місяців тому +1

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

    • @bulgakov1991
      @bulgakov1991 9 місяців тому

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

  • @vibemp470
    @vibemp470 Рік тому +2

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

  • @apbrandom
    @apbrandom Рік тому

    Супер!

  • @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

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

  • @sarvarqosimov8363
    @sarvarqosimov8363 Рік тому +2

    👍

  • @dimasdimasov6652
    @dimasdimasov6652 Рік тому

    👍🏻👍🏻👍🏻

  • @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. Как быть?

    • @АлександрС-е7щ
      @АлександрС-е7щ 4 місяці тому +1

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