Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Скрытая особенность typealias
⭐️ Скорее всего, при разработке вы периодически используете
Также как при работе со структурами или классами, мы можем объявлять дженерик-аргументы в
📖 В этой статье разбираются возможности
😃 iOS Dev
typealias
.Также как при работе со структурами или классами, мы можем объявлять дженерик-аргументы в
typealias
(и даже можем ограничить использование только числовых типов, например, с использованием Numeric
).📖 В этой статье разбираются возможности
typealias
на реальных примерах. Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32 7👍4🤩4 2👏1🏆1 1
Как и когда использовать Lazy Collections в Swift
➡️ Такие коллекции откладывает вычисления до тех пор, пока они действительно не понадобятся.
И хотя это может быть полезно (например, можно предотвратить выполнение ненужной работы, если элементы в итоге так и не будут запрошены), но у них есть и недостатки.
Условно, если у нас 5 элементов, вряд ли мы получим существенный выигрыш в производительности. Поэтому решение об использовании таких коллекций должно приниматься индивидуально в каждом случае.
📖 А о преимуществах и недостатках можно прочесть здесь.
😃 iOS Dev
И хотя это может быть полезно (например, можно предотвратить выполнение ненужной работы, если элементы в итоге так и не будут запрошены), но у них есть и недостатки.
Условно, если у нас 5 элементов, вряд ли мы получим существенный выигрыш в производительности. Поэтому решение об использовании таких коллекций должно приниматься индивидуально в каждом случае.
📖 А о преимуществах и недостатках можно прочесть здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏10 8 3🔥2 2🏆1
Приготовил для вас сюрприз ❤️
🔨 Что, если бы Xcode показывал нам статистику по итогам года?
Или, например, мы знали, сколько крашей пофиксили?
☕️ А сколько минут собирались наши проекты?
🤩 Я представил эту альтернативную реальность в стиле Spotify (или других сервисов, как вам удобнее), и делюсь итогами года iOS-разработчика с вами!
😃 iOS Dev • 🐱 Доступ к алгоритмам
Или, например, мы знали, сколько крашей пофиксили?
☕️ А сколько минут собирались наши проекты?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉77 18🤩9 7❤🔥3 3👍2🏆1
AsyncStream на реальных примерах: работа с Apple Photos
🧑💻
Apple обычно показывает хорошие способы работы с асинхронным API, но иногда бывают моменты, которые моно улучшить.
Например, автор следующей статьи переосмыслил использование
📖 Вот тут можно посмотреть на этот подход и граничные кейсы.
😃 iOS Dev
AsyncStream
позволяет ожидать последовательность элементов, возвращая их, когда они будут готовы.Apple обычно показывает хорошие способы работы с асинхронным API, но иногда бывают моменты, которые моно улучшить.
Например, автор следующей статьи переосмыслил использование
PHAsset.fetchAssets
с помощью AsyncStream.📖 Вот тут можно посмотреть на этот подход и граничные кейсы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16 4👏2🤩2👍1🎉1🏆1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
Создание прогресс-бара в ретро-стиле с использованием CALayers
Создание своих компонентов может быть увлекательно, но практически всегда сопряжено с рядом сложностей.
😎 Наверняка, каждый из нас проектировал и внедрял в проекты те или иные контролы, а некоторые и десятки раз.
Если вам нравится использовать
📖 В ней автор указывает на типичные проблемы, связанные с версткой, анимацией и рисованием, а также предлагает ряд интересных идей, которые могут помочь.
🛠 Окончательный вид и код проекта можно посмотреть здесь.
😃 iOS Dev
Создание своих компонентов может быть увлекательно, но практически всегда сопряжено с рядом сложностей.
Если вам нравится использовать
UIKit
, но вы все еще не знаете, как работать с CALayers
, эта статья будет вам полезна. 📖 В ней автор указывает на типичные проблемы, связанные с версткой, анимацией и рисованием, а также предлагает ряд интересных идей, которые могут помочь.
🛠 Окончательный вид и код проекта можно посмотреть здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏16👍8 4🤩2 2❤🔥1🏆1 1 1
Удаление данных в SwiftData
Существует как минимум три способа удалить данные при использовании SwiftData.
📖 В этом обзоре рассматриваются эти варианты и неочевидные моменты.
Другие посты на тему:
1️⃣ Отслеживание изменений данных в SwiftData.
2️⃣ Архитектурный дизайн SwiftData и возможности миграции.
3️⃣ Вопросы и ответы про SwiftData и CoreData.
😃 iOS Dev
Существует как минимум три способа удалить данные при использовании SwiftData.
📖 В этом обзоре рассматриваются эти варианты и неочевидные моменты.
Другие посты на тему:
1️⃣ Отслеживание изменений данных в SwiftData.
2️⃣ Архитектурный дизайн SwiftData и возможности миграции.
3️⃣ Вопросы и ответы про SwiftData и CoreData.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8 7🔥2👏2🏆2
This media is not supported in your browser
VIEW IN TELEGRAM
Игра «Жизнь» Конвея: реализация на Swift
Вообще, автомат Конвея, пожалуй, самый известный клеточный автомат первого порядка. Когда я был студентом при изучении плюсов одной из возможных курсовых была её реализация (вряд ли сейчас что-то кардинально изменилось при выборе тем).
👩🎓 Впервые она была описана в 1970 году британским математиком Джоном Конвеем и обладала следующими правилами:
1️⃣ Любая живая клетка с менее чем двумя живыми соседями погибает, как при недонаселении.
2️⃣ Любая живая клетка с двумя или тремя живыми соседями продолжает жить в следующем поколении.
3️⃣ Любая живая клетка с более чем тремя живыми соседями умирает, как при перенаселении.
4️⃣ Любая мертвая клетка с ровно тремя живыми соседями становится живой клеткой, как при размножении.
Как видите, правила довольно понятны и логичны.
📖 А вот тут автор даже реализовал этот алгоритм на Swift. И хотя он сам сообщает, что можно прокачать игру, например, добавив стартовые шаблоны или механизм для изменения скорости, посмотреть точно есть на что.
📖 И, к слову, если вы хотите узнать больше, и углубиться в вариации, то в мощнейшей статье с хабра можно почитать, что будет, если соединить клеточные автоматы с генетическим алгоритмом.
😃 iOS Dev
Вообще, автомат Конвея, пожалуй, самый известный клеточный автомат первого порядка. Когда я был студентом при изучении плюсов одной из возможных курсовых была её реализация (вряд ли сейчас что-то кардинально изменилось при выборе тем).
1️⃣ Любая живая клетка с менее чем двумя живыми соседями погибает, как при недонаселении.
2️⃣ Любая живая клетка с двумя или тремя живыми соседями продолжает жить в следующем поколении.
3️⃣ Любая живая клетка с более чем тремя живыми соседями умирает, как при перенаселении.
4️⃣ Любая мертвая клетка с ровно тремя живыми соседями становится живой клеткой, как при размножении.
Как видите, правила довольно понятны и логичны.
📖 А вот тут автор даже реализовал этот алгоритм на Swift. И хотя он сам сообщает, что можно прокачать игру, например, добавив стартовые шаблоны или механизм для изменения скорости, посмотреть точно есть на что.
📖 И, к слову, если вы хотите узнать больше, и углубиться в вариации, то в мощнейшей статье с хабра можно почитать, что будет, если соединить клеточные автоматы с генетическим алгоритмом.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
2023 -> 2024
Подходит к концу год, оказавшийся непростым для всех.
Я хочу верить, что у вас получилось справиться со всеми рабочими задачами, и выполнить большинство планов.
Надеюсь, что кто-то из вас нашёл работу и повысил уровень своего дохода.
У меня, например, не получилось достигнуть всех целей, но апдейты для Starly и Lines в итоге добрались до стора. Кроме этого, начал учить греческий язык и специально для этого сделал приложение Сократ, а также довёл до прода приложение по управлению подписками (пока сыровато, но пара фишек точно есть).
Даже получилось справиться с алгоритмическим марафоном Яндекса 🥲.
Но вот что хочется сказать
Профессиональные цели — это хорошо, но не главное в жизни.
Пожалуйста, будьте добры с вашими близкими, цените их и не забывайте, что деньги можно успеть заработать, а время купить нельзя. Не забывайте о здоровье, и взвешивайте импакт возможных переработок.
Желаю вам следовать за моральным компасом, и делать то, что действительно важно.
А от меня как минимум интересные статьи, видео, истории и подборки (и розыгрыши).
🎄 С наступающим Новым годом!
😃 iOS Dev - поздравить можно бустом (или лайком)
Подходит к концу год, оказавшийся непростым для всех.
Я хочу верить, что у вас получилось справиться со всеми рабочими задачами, и выполнить большинство планов.
Надеюсь, что кто-то из вас нашёл работу и повысил уровень своего дохода.
У меня, например, не получилось достигнуть всех целей, но апдейты для Starly и Lines в итоге добрались до стора. Кроме этого, начал учить греческий язык и специально для этого сделал приложение Сократ, а также довёл до прода приложение по управлению подписками (пока сыровато, но пара фишек точно есть).
Даже получилось справиться с алгоритмическим марафоном Яндекса 🥲.
Но вот что хочется сказать
Профессиональные цели — это хорошо, но не главное в жизни.
Пожалуйста, будьте добры с вашими близкими, цените их и не забывайте, что деньги можно успеть заработать, а время купить нельзя. Не забывайте о здоровье, и взвешивайте импакт возможных переработок.
Желаю вам следовать за моральным компасом, и делать то, что действительно важно.
А от меня как минимум интересные статьи, видео, истории и подборки (и розыгрыши).
Please open Telegram to view this post
VIEW IN TELEGRAM
☃42❤🔥17🎅13🎄12👍4 3 3🎉2 2 1
Основы Git для iOS-разработчиков
👨💻 Для начинающих разработчиков необходимо понимать принципы работы (даже если вы юзаете Tower или другой клиент).
На самом деле, конечно, не совсем корректно говорить только в контексте iOS.
📖 В этом посте хорошо объясняются на примерах основы git, после которых уже можно приступать и к более продвинутым действиям.
😃 iOS Dev
На самом деле, конечно, не совсем корректно говорить только в контексте iOS.
📖 В этом посте хорошо объясняются на примерах основы git, после которых уже можно приступать и к более продвинутым действиям.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM