Swift: API fetching / извлечение данных через REST API (6)

Поділитися
Вставка
  • Опубліковано 26 січ 2025

КОМЕНТАРІ • 21

  • @ipaktulane4748
    @ipaktulane4748 6 місяців тому

    Спасибо за шикарный курс! Будем ждать урока с получением изображений из сервера и их обработкой, а также с кешами

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

      Если коротко, то для загрузки картинок в SwiftUI лучше использовать AsyncImage(url), а если это Swift, то тогда разумно подключить например, Kingfisher- только для картинок или Alamofire для работы с большими данными по сети.
      Кеширование в этих фреймворках уже встроено и не нужно будет тратить время.
      Встроенный механизм кеширования в Swift пока лучше не использовать. Не получилось у них.

    • @ipaktulane4748
      @ipaktulane4748 6 місяців тому

      @@AvenCode спасибо за скорую реакцию и бесценные советы! обязательно попробую

  • @Intentor1
    @Intentor1 7 місяців тому

    Круто! Узнал как пользоваться Swift Package Manager

  • @Konstantin-y8i
    @Konstantin-y8i Рік тому +1

    Хорошо объясняете. А какие темы в планах?

    • @AvenCode
      @AvenCode  Рік тому +6

      В мае буду очень занят, точно ничего, а потом буду выпускать мини-уроки по запросам, пока собираюсь объяснить про try, do-catch, actor, возможно про многопоточность.

  • @Aliaksei-f3g
    @Aliaksei-f3g Рік тому

    В этой итерации кода вы не использовали ключевые слова async/await для метода получения данных. Это связано с тем что Alamofire сам управляет потоками?

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

      Да, Alamofire правильно использует потоки для запросов и ответов.

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

    Евгений, спасибо больше за великолепный курс!
    Перед получением или неполучением данных, всегда первым высвечивается окошко alert. Оно всегда пустое до получения ответа от сервера. Если я успешно получаю данные, пустой alert просто пропадает. Alert висит даже до получении ошибки и при ее получении, текст просто вставляется в alert.

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

      этот Alert выскакивает, если showError == true. Проверьте. По умолчанию showError должно быть false.

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

      @@AvenCode, спасибо за ответ! Стоит false. Буду искать проблему дальше.

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

    Здравствуйте , как можно сделать интерфейс который будет нормально выглядеть и на 14 про макс и на se 2 ?
    просто делаю , а интерфейс съезжает

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

      Вопрос отличный! На засыпку :-)
      Отдел дизайна Apple и других компаний ищут ответ на этот вопрос.
      Я могу сказать, что никак. Не тратьте на это время. Хорошо не получится и не нужно. Делайте дизайн для 14 / 14 pro max и всё. На SE никто его не увидит. Те, кто покупает SE, покупают только красивую звонилку и не покупают приложения. Их так мало, что не стоит ломать голову и пальцы.
      Это, конечно, моё личное мнение!

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

      @@AvenCode хорошо , спасибо , уже несколько дней ищу решение. А все так просто)

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

    Здравствуйте , можете рассказать про все способы перемещения между view ?

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

      Нужно пояснение. Имеете ввиду сдвиг окна влево и всплывание окна снизу?

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

      @@AvenCode , Как раз хочется знать какие есть способы кроме navigationlink и sheet

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

      @@AvenCode типо насколько правильно пользоваться if
      View()
      If
      View2()
      И как более изящно работать с ними. Просто на ютубе и в сети вечно один способ ( link )

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

      @@InvestorFIRE да, основные только эти два способа. Ещё можно использовать ActionSheet - когда снизу выходит маленькое окно с кнопками. Дальше кастомные. Сам делаешь любой view и с помощью animation выводишь его как угодно, хоть наплывом, хоть сверху, на сколько фантазии хватает.
      Наверно, можно ещё разворот страницы использовать, как раньше. Я как-то не увлекался этими способами.
      Action sheet долго был стандартный, только с кнопками. В последних версиях Swift можно использовать Bottom sheet регулировать его высоту, добавлять туда что угодно, даже скролл. ua-cam.com/video/zPKeaKHr8T0/v-deo.html
      Совсем новая фича UIMenu: ua-cam.com/video/Lf5fRbbtVPc/v-deo.html

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

      @@InvestorFIRE Хороший вопрос! Меня тоже смущает такой код, но его все применяют, даже Paul Hudson.
      Другой способ, но не аналогичный - добавить .opacity(условие==показать ? : 1 : 0)
      Логичнее было бы, если использовать hidden(условие) но пока этого нет.
      Ещё я иногда делаю так.
      View который нужно показывать по условию описываю в отдельной структуре:
      struct Romashka: View {
      let show: Bool
      var body: some View {
      if show {
      ProgressView()
      }
      }
      }
      а основном view остаётся только
      Romashka(show: showProgress)
      Так изящнее.