Swift Tips
3.27K subscribers
458 photos
16 videos
2 files
436 links
Ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift.

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
Forwarded from Mobile Native ️️
Об анатомии крэшей на iOS «по-взрослому»

Большая статья, в которой рассказывается, как устроены крэши в iOS, откуда они берутся и как с ними взаимодействовать.

Читать (Ru)
79🔥6👍2
Detecting faces in images with the Vision framework

Пример реализации распознавания лиц на изображениях с помощью фреймворка Vision.

Читать (En)
3👍3🔥3
Swift TaskGroup на примерах

В этой статье подробно рассматривается сущность под названием TaskGroup, как с ней работать и чем она отличается от Task и async let.

На примере сравниваются аналогичные реализации с и без TaskGroup и разбираются некоторые (не для всех очевидные) моменты при работе с данной сущностью.

🟢Structured concurrency
🟢Сетапим окружение для примера
🟢Реализуем загрузку N изображений (без TaskGroup)
🟢Загрузка N изображений через TaskGroup
🟢Нюансы при работе с TaskGroup
🟢Итоги
🟢Полезные ссылки

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍74🔥1
Дебаг на максимум: секретные настройки Xcode, которые должен знать каждый разработчик

Большая статья, в которой рассматриваются некоторые графические баги, которые могут влиять на производительность и различные способы их пофиксить.

🟢Что такое CPU и GPU и с чем их едят
🟢Blended Layers — cмешанные слои
🟢Copied Images: избавляемся от скопированных изображений
🟢Выравниваем изображения Misaligned Images
🟢Внеэкранная отрисовка Offscreen Rendering
🟢Тени
🟢Маски
🟢Visual Effects

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍7🔥7💩1
Асинхронность в iOS: как ускорить корпоративные приложения и не сломать мозг разработчика

Небольшая статья про организацию асинхронной работы в iOS-приложениях.

Разбираются подходы от старой доброй GCD до современной магии Swift Concurrency и показывается, как они помогают ускорить приложение без лишнего хаоса в коде.

Читать (Ru)
6🔥5🥱5👍2
Как собрать и внедрить высоконагруженный модуль. Опыт Звука

iOS-разработчик из Звука делится опытом построения сложного модуля на примере сетевого слоя и рассказывает, какими инструментами и подходами пользовались в процессе работы.

Читать (Ru)
👍10🔥32🤮2
Mastering Forms in SwiftUI

Цикл из трёх статей, про нативные компоненты для работы с формами ввода данных в SwiftUI.

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

🔵Creating and Styling
🔵Selecting Information
🔵Text Fields

❗️ Некоторые модификаторы доступны с iOS 15, 17, 18.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥1
С Новым годом, друзья!!! 🎄🥳🥂

По некоторым причинам я выпал из пространства с середины декабря – на канале не было никакой активности. Поэтому, иду это срочно исправлять.

Начну со слов благодарности. Спасибо каждому из вас за активность, реакции, репосты, за то, что читаете канал. Отдельное спасибо тем, кто предлагает материалы в личку и делится обратной связью.

В новом году хочу пожелать вам спокойствия, душевного счастья, профессиональных скиллов и пусть всё задуманное обязательно исполнится. Проведите праздники с родными и отдохните как следует. С наступившим, друзья 🥂

P.S. Обычно принято писать такие посты в конце года, но у меня в этом году получилось вот так (зато не как у всех 😉)

P.S.S. Если вдруг салаты ещё не доели – уже всё, можно выбрасывать, срок годности закончился)
Please open Telegram to view this post
VIEW IN TELEGRAM
14🍾8🎄6
This media is not supported in your browser
VIEW IN TELEGRAM
Секретная акция, или Как выйти за пределы UICollectionView

После достаточно длинного перерыва, пришло время возвращаться к публикациям.

А начнём с довольно крутой статьи от Dodo Engineering, про реализацию вот такой прикольной анимации с игровой механикой. Супер подробнейшая статья с примерами кода на разных этапах, математикой, отрисовкой, анимациями и т.д.

Читать (Ru)
🔥16👍53
SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)

В статье подробно рассматривается модификатор containerRelativeFrame для SwiftUI (представленный Apple на WWDC 2023), его определение, правила компоновки, примеры использования и важные соображения.

🟢Определение
🟢Конструкторы
🟢Контейнеры
🟢Правила трансформации
🟢Примеры использования

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3👍1
Swift Tutorials: Learn Swift with Easy-to-Follow Code Examples

Большая подборка статей, туториалов и примеров ресурса SwiftLee для изучения Swift, с разбивкой по соответствующим разделам.

Learning Swift using tutorials and code examples

🟢Enum explained in-depth with code examples in Swift
🟢JSON Parsing in Swift explained with code examples
🟢Optionals in Swift explained: 5 things you should know
🟢Extensions in Swift: How and when to use them
🟢Try Catch Throw: Error Handling in Swift with Code Examples
🟢Struct vs classes in Swift: The differences explained
🟢How to use for loop, for each, while, and repeat in Swift (in-depth)
🟢Guard statements in Swift explained with code examples

Learn Swift by going beyond the basics

🟢Generics in Swift explained with code examples
🟢Existential any in Swift explained with code examples
🟢Some keyword in Swift: Opaque types explained with code examples
🟢Weak self and unowned self explained in Swift
🟢Property Wrappers in Swift explained with code examples

Swift Code Examples covering concurrency and async/await

🟢How to Use URLSession with Async/Await for Network Requests in Swift
🟢Async await in Swift explained with code examples
🟢Tasks in Swift explained with code examples
🟢Thread dispatching and Actors: understanding execution
🟢Sendable and @Sendable closures explained with code examples

Swift tutorials for testing code

🟢Swift Testing: Validate your code using expressive APIs
🟢Using the #expect macro for Swift Testing
🟢Using the #require macro for Swift Testing

Debugging issues along the way

🟢EXC_BAD_ACCESS crash error: Understanding and solving it
🟢Race condition vs. Data Race: the differences explained
🟢Thread Sanitizer explained: Data Races in Swift

How about Swift Tutorials for creating a user interface using SwiftUI?

🟢SwiftUI Button: Custom Styles, Variants, and Best Practices
🟢Debugging SwiftUI views: what caused that change?
🟢View Composition using ViewModifiers in SwiftUI
🟢@Observable Macro performance increase over ObservableObject
🟢SF Symbol: How to for Swift & SwiftUI

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍76🔥4
Exploring Tab View Styles in SwiftUI

Статья с подробным разбором стилей у TabView в SwiftUI.

С помощью модификатора tabViewStyle() можно настраивать нестандартное поведения для табов.

Читать (En)
🔥32👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Собственный Segmented Control на SwiftUI. Часть 1. Смешиваем цвета

Продолжаем неделю UI-ыми штуками. Ещё одна полезная статья от Dodo Engineering, про реализацию вот такого кастомного Segmented Control на SwiftUI со смешиванием цветов.

Читать (Ru)
🔥53👍1
Swift Performance Optimization Techniques

Статья c несложными примерами оптимизации Swift-кода.

🟢Use Value Types
🟢Use Lazy Loading
🟢Use Caching
🟢Use Parallel Processing
🟢Optimize Loops
🟢Use Efficient Data Structures

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍43
Как мы сделали on-device-распознавание номеров телефонов для ИТ-Пикника

Крутая статья от ребят из Т-Банка, в которой они рассказывают, как в суперсжатые сроки реализовали распознавание номеров телефонов on-device на iOS для стенда ИТ-Пикника 2024.

Читать (Ru)
2🔥2👍1
Вызов защищенного API из iOS-приложения на Swift

Пошаговое руководство по использованию OAuth 2.0 при доступе к защищенным API из iOS‑приложения на Swift с Auth0.

Читать (Ru)
🔥32👍2👎1
Путь к стабильности: как мы снизили потребление оперативной памяти в iOS-приложении

Разработчик из AliExpress рассказывает, как они минимизировали креши, связанные с нехваткой оперативной памяти на iOS, с помощью собственного инструмента для мониторинга памяти.

Читать (Ru)
👍5🔥31
Creating a SwiftUI text view with tappable links

Гайд по реализации кликабельных ссылок в SwiftUI на основе Markdown.

Читать (En)
🔥84👍4
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI matched geometry effect in a custom segmented control

В дополнении к этому посту, ещё одна статья с примером реализации кастомного SegmentedControl, с анимацией выделенного элеменета через matchedGeometryEffect().

Читать (En)
🔥42👍2