EasySwift iOS🍏
3.03K subscribers
268 photos
8 videos
393 links
Все самое интересное в мире iOS разработки 🧑🏻‍💻

Предложить статью или новость: @EasySwiftBot

По всем вопросам обращаться к @itereznikov
Download Telegram
Неблокирование потоков - одна из главных особенностей async / await. В статье приводятся наглядные примеры, как можно ускорить работу приложения переделав с GCD на async / await.

Бонусом рассказывается чем ограничено количество потоков async / await, зачем это сделано и когда все же лучше использовать GCD.

Жаль, что async / await недоступен в objective-c, ведь Swift deprecated 😬
👍13🔥5👏1
В SwiftUI можно легко реализовать поддержку Drag and drop.

Для этого нужно:
• добавить модификатор dropDestination() и обработать перетаскиваемые данные
• добавить модификатор draggable() для данных, которые вы хотите перетаскивать

Подробнее в статье
👍93
This media is not supported in your browser
VIEW IN TELEGRAM
В статье на примере функции receive(on:options:) фреймворка Combine показывается отличие между DispatchQueue.main и RunLoop.main.

Задача стандартная - загрузка картинки в момент, когда пользователь взаимодействует с UI, например, скролит UIScrollView.
На GIF'ке слева используется RunLoop.main, а справа DispatchQueue.main
👍27🔥1
Как долго вы в коммерческой разработке?
Это поможет публиковать более релевантный контент
Anonymous Poll
48%
Ещё учусь
15%
0-1 год
17%
1-3 года
5%
3-5 лет
6%
5+
3%
Не разработчик (QA, PM и тд)
6%
Посмотреть результаты
👍2
Apple выпустили курс по SwiftUI, UIKit, работе с сетью, кешированию и тестам.

Курс расcчитан на 15 часов, но некоторые части можно пропустить или пройти быстрее. Подходит новичкам, но также будет полезен тем, кто хочет освежить знания

Редакция канала настоятельно рекомендует к ознакомлению
🔥40👍83❤‍🔥1
Держим в курсе:
👉Теперь можно предложить статью, новость или любимый мем об IT в чат боте

👉Теперь можно оставлять комменты под постами и общаться в чате тут
👍8
EasySwift iOS🍏 pinned «Держим в курсе: 👉Теперь можно предложить статью, новость или любимый мем об IT в чат боте 👉Теперь можно оставлять комменты под постами и общаться в чате тут»
В чате задали вопрос - как пройти по всем значениям кортежа и выбрать одно, соответcтвующее условию.

Простого решения для этой задачи нет, но можно использовать рефлексию, которая в Swift представлена структурой Mirror.

О том что такое рефлексия и как её использовать читайте в статье
👍22🔥1🤡1
Пример реализации крутого поиска в приложении на SwiftUI с помощью модификатора .searchable

Подробнее о том, как затянуть поиск в своё приложение в гайдах Apple
👍9😁1
Что мы увидим в консоли в первом принте и что во втором?

Если не знаете как безопасно работать с ArraySlice коллекций, советуем статью.

А для тех, кто знает, но решил себя проверить или пытается угадать ответ:
1. [2, 7, 15, 8, 1]
2. Fatal error: Array index is out of range
👍24
В чем отличие между первым и вторым примером? Выполнится ли метод doSomething?

Responder Chain - тема, которую любят спрашивать на собеседованиях. О том, что такое Responder Chain и как он устроен «под капотом» в статье
👍20❤‍🔥1
Еще один из популярных вопросов на интервью - как работает инструкция defer? В каком порядке выведутся числа в консоли в задаче выше?

Вряд ли вы встретитесь с частым использованием 2-х и более defer в одной функции, но для собеседования пример отличный. Когда действительно стоит использовать defer смотрите в статье.

Правильный ответ: 3 2 5 4 1. А почему так и как работает defer, можно узнать тут
👍221
Для решения типовых задач программирования существуют паттерны проектирования - GOF, GRASP, you name it.

Один из них фасад — структурный паттерн для предоставления простого интерфейса к сложной системе классов, библиотеке или фреймворку.

В статье рассматривается реализация с примерами этого паттерна на Swift
❤‍🔥8🤔21
Если еще не слышали про HTTP/3 (QUIC), то советуем разобраться, изучая новые и неизвестные слова - UDP, TCP, мультиплексирование, SSL / TLS и тд. Все это поможет лучше понять основы клиент-серверного взаимодействия. С основами HTTP/3 можно ознакомиться в статье.

А если вы хотите попробовать HTTP/3 в приложении и вам не страшно, увеличить скорость передачи данных, то ловите WWDC доклад
👍9
Когда стоит использовать сторонние фреймворки, а когда лучше написать свой - автор подробно разбирает в статье нюансы использования внешних зависимостей
🔥8👍1
Перед разработчиком стояла простая задача - вывести список доступных emoji с возможностью выбора необходимого. Но всё оказалось не так просто.

С какими проблемами столкнулся автор читайте в статье.
👍7
Статей про диспетчирезацию в Swift’е мало не бывает 😅. Поэтому ловите еще одну
👍16
Ловите расширенный гайд по мультикурсору в Xcode, с примерами использования.

Пригождается не часто, но когда нужен - позволяет сэкономить уйму времени
🔥15