В этой статье речь пойдёт о шаблоне проектирования «Наблюдатель» (Observer) и его реализации на Swift. Точнее — о его идеальной реализации.
User
Идеальный REST-клиент для iOS
Medium
8 min
2.6KOpinion
В подавляющем большинстве современных мобильных приложений используется сетевой обмен данными. Обладая обширным опытом сетевого взаимодействия в крупных компаниях (банки, маркетплейсы итп), хотим поделиться опытом построения идеального с нашей точки зрения сетевого клиента для iOS.
+2
Таймер в iOS
9 min
35KTutorial
Translation
Представьте, что вы работаете над приложением, в котором нужно периодически выполнять некоторые действия. Именно для этого в Swift используется класс Timer.
Timer используется для планирования действий в приложении. Это может быть разовое действие или повторяющаяся процедура.
В этом руководстве вы разберётесь, как в iOS работает таймер, как он может влиять на отзывчивость UI, как оптимизировать потребление батареи при использовании таймера и как использовать CADisplayLink для анимации.
В качестве тестового полигона мы будем использовать приложение — примитивный планировщик задач.
Timer используется для планирования действий в приложении. Это может быть разовое действие или повторяющаяся процедура.
В этом руководстве вы разберётесь, как в iOS работает таймер, как он может влиять на отзывчивость UI, как оптимизировать потребление батареи при использовании таймера и как использовать CADisplayLink для анимации.
В качестве тестового полигона мы будем использовать приложение — примитивный планировщик задач.
+8
Списки захвата в Swift: в чём разница между ссылками weak, strong и unowned?
7 min
46KTranslation
Джозеф Райт, «Пленный» — иллюстрация «сильного» захвата
Список «захваченных» значений находится перед списком параметров замыкания и может «захватить» значения из области видимости тремя разными способами: используя ссылки «strong», «weak» или «unowned». Мы часто его используем, главным образом для того, чтобы избежать циклов сильных ссылок («strong reference cycles» aka «retain cycles»).
Начинающему разработчику бывает сложно принять решение, какой именно применить способ, так что вы можете потратить много времени, выбирая между «strong» и «weak» или между «weak» и «unowned», но, со временем, вы поймёте, что правильный выбор — только один.
+8
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Registered
- Activity