Subscript строк по индексу и ренжу
Мое самое большое непонимание в эволюции🖥 Swift - удаление substring при переходе с Swift 2.3 на Swift 3.0. Из-за некоторых граничных кейсов, которые сложно покрыть обычными индексами, мы потеряли удобство для всех кейсов. В результате чего, почти в каждом проекте есть расширение, позволяющее работать со строками через subscript. И пару раз я находил там баги или неожиданное поведение. На сколько я понимаю, все приседания с ради предсказуемой работы с emoji:
"\u{1F44D}" // 👍
"\u{1F44D}\u{1F3FD}" // 👍🏽
Если вы тоже работаете с обычными строками, забирайте мой gist
Мое самое большое непонимание в эволюции
"\u{1F44D}" // 👍
"\u{1F44D}\u{1F3FD}" // 👍🏽
Если вы тоже работаете с обычными строками, забирайте мой gist
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎1
Легковесный типобезопасный макрос для работы с сетью в Swift
SwiftRequest абстрагирует бойлерплейт, который обычно связан с настройкой HTTP-запросов в Swift. Он использует макросы, которые можно связать с конкретными объявлениями для улучшения и расширения их функциональности. Очень напоминает Retrofit на андроид
Макросы в Swift это новое дыхание для языка, главное чтобы это не превратилось в молоток, взяв в руки который все становится гвоздями. Как относитесь к подобным неявным упрощениям в коде? 👍/👎
SwiftRequest абстрагирует бойлерплейт, который обычно связан с настройкой HTTP-запросов в Swift. Он использует макросы, которые можно связать с конкретными объявлениями для улучшения и расширения их функциональности. Очень напоминает Retrofit на андроид
Макросы в Swift это новое дыхание для языка, главное чтобы это не превратилось в молоток, взяв в руки который все становится гвоздями. Как относитесь к подобным неявным упрощениям в коде? 👍/👎
👍22👎3
Если зайти в документацию URL конструктора с аргументом в виде строки, там появилась секция:
Понятно что важно, но что это значит на практике? На самом деле, все проще чем кажется! Новое значение по умолчанию заключается в том, что URL(string:) пытается закодировать недопустимые символы. Если мы хотим продолжать использовать поведение, существовавшее до iOS 17, нам нужно будет заменить
URL(string:)
на новый URL(string:encodingInvalidCharacters:)
и передать false
во второй аргумент. На примере все становится понятно 🙂Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎1
🌳Как сделать так, чтобы ваше приложение выглядело, будто вы наняли дизайнера (🇺🇸17 мин)
Хочу поделиться с вами находкой, которую вчера мне подарила предложка🌃 youtube. Это именно то, чего не хватает каждый раз, когда пытаешься сделать свой 🗑 пет проект
✔️ Как подобрать цвета и использовать их так, чтобы приложение выглядело консистентным
✔️ Как делать дизайн интуитивным
✔️ Как списывать как художник используя HIG
✔️ Как не перегружать интерфейс
✔️ Почему важно оставлять свободное место в интерфейсе
✔️ Секретная форма скруглений
И все это используя🖥 Xcode
Хочу поделиться с вами находкой, которую вчера мне подарила предложка
И все это используя
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25👎1
Apple прекратила поддержку метода «
traitCollectionDidChange
» в iOS 17, заменив его регистрацией на определенные изменения свойств «registerForTraitChanges
». В статье на примерах рассматривается как это теперь работаетPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎2
Forwarded from Android Broadcast (Кирилл Розов)
GitHub больше не основывается на Git, а начинает фокусироваться на Copliot технологиях (заявление тут). Это не значит что функционал с репами уйдёт, просто меняется приоритет компании, что уже можно было наблюдать весь год. GitHub Copilot Chat станет доступен всем в декабре 2023 и будет доступен на сайте и мобильных приложениях. Конечно подписку придется оформлять!
Что еще интересного в анонсе:
👉 Представили GitHub Copilot Enterprise - Copilot, который персонализируется под бизнес (39$ за пользователя в месяц)
👉 Безопасность GitHub тоже прокачали с AI (подробности тут)
👉 GitHub Copilot в рамках партнерской программы начнет интеграцию с другими сервисами для расширения знаний ассиcтента
#github #copilot #tooling
Что еще интересного в анонсе:
👉 Представили GitHub Copilot Enterprise - Copilot, который персонализируется под бизнес (39$ за пользователя в месяц)
👉 Безопасность GitHub тоже прокачали с AI (подробности тут)
👉 GitHub Copilot в рамках партнерской программы начнет интеграцию с другими сервисами для расширения знаний ассиcтента
#github #copilot #tooling
👎12👍5
Выходные - идеальное время для пет проекта. И если вы давно мечтали облегчить свою жизнь при помощи CLI утилиты, в блоге Swift появился туториал:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎3
Еще один доклад с Swift Connection 2023 которым захотелось поделиться после просмотра. Как сделать мобильное приложение доступным без интернета, если сеть ему нужна. Детально рассматриваются проблемы, с которыми сталкиваются разработчики подобных приложений и способы их решений.
👉 Отличие кеша от персистентного реляционного хранилища
👉 Сохранение консистентности состояния приложения
👉 Способы мержить конфликты незаметно для пользователя
👉 CRDT - Бесконфликтные реплицированные типы данных
Очень хорошо разложил по полочкам как сложно сделать работающее в фоне приложение и почему вам это скорее всего не нужно, с чем я абсолютно согласен 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎1
Очень полезное нововведение в Xcode 15.1, позволяющее удобно отловить лишнее место перерисовки SwiftUI View. Статья показалась мне на столько полезной, что сделал перевод. Уделите 6 минут, будет полезно!
👉 Что такое обновляемый SwiftUI экран
👉 Проблема Массивных SwiftUI View
👉 Использование LLDB для отладки изменений
👉 Использование _logChanges в Xcode 15.1
👉 Решаем проблемы с перерисовкой в SwiftUI
👉 Отладка изменений с помощью кода. Что такое
@self
и @identity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👎1
Forwarded from AvitoTech
Делимся материалами с Avito iOS meetup #10 🕊️
📺 Async / Await. Лучшие практики, советы и особенности
Максим Сурков (МТС) — рассмотрит structured concurrency в Swift, поговорит о async/await, actors, tasks и проведёт аналогии с уже существующими инструментами для работы с многопоточностью
📺 SwiftUI — уже пора?
Тимур Долотказин (Авито) расскажет про свой опыт перехода на новый (старый) фреймворк, подводные камни и выводы, к которым он пришёл.
📺 Гармония статики и динамики: погружаемся в mergeable libraries
Александр Сычев (Тинькофф Страхование) о новом решении Apple – mergeable libraries, он рассмотрит их внутреннее устройство и разберёт, как можно интегрировать их в свои iOS-проекты.
Ссылка на наш плейлист.
Фотографии с мероприятия лежат в альбоме Вконтакте🔵
#iOS_avitotech #avitoiOSmeetup
Максим Сурков (МТС) — рассмотрит structured concurrency в Swift, поговорит о async/await, actors, tasks и проведёт аналогии с уже существующими инструментами для работы с многопоточностью
Тимур Долотказин (Авито) расскажет про свой опыт перехода на новый (старый) фреймворк, подводные камни и выводы, к которым он пришёл.
Александр Сычев (Тинькофф Страхование) о новом решении Apple – mergeable libraries, он рассмотрит их внутреннее устройство и разберёт, как можно интегрировать их в свои iOS-проекты.
Ссылка на наш плейлист.
Фотографии с мероприятия лежат в альбоме Вконтакте
#iOS_avitotech #avitoiOSmeetup
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👎1