Pull to refresh
7
0
Send message

Создание custom layout в SwiftUI. Кэширование

Reading time2 min
Views921

В предыдущем посте мы рассказали об основах нового протокола Layout. Сегодня я собираюсь продолжить серию постов, посвященной созданию многократно используемых custom layouts, рассказав про кэширование информации layout и настройку производительности.

SwiftUI вызывает функции вашего custom layout множество раз на протяжении всего жизненного цикла для определения различных вариантов размеров в процессе компоновки. Он кэширует несколько объектов автоматически, но вы также можете реализовать свой собственный вариант кэширования, если вам нужно улучшить производительность layout.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Как Параллелизм в Swift предотвращает взрывы потоков?

Reading time6 min
Views2.2K

Как Параллелизм в Swift предотвращает взрывы потоков?

Несколько недель назад я прочитал статью Войцеха Кулика, в которой он рассказывает о некоторых подводных камнях во фреймворке Swift Concurrency. В одном из разделов Войцех кратко упомянул взрыв потока и то, как Swift Concurrency может предотвратить его, ограничивая нас от чрезмерной загрузки системы бОльшим количеством потоков, чем ядер ЦП.

Это заставило меня задуматься… Так ли это на самом деле? Как это работает за кулисами? Можем ли мы как-то обмануть систему, чтобы она создавала больше потоков, чем ядер ЦП?

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments4

Малоизвестные возможности расширения VS Code Swift

Reading time4 min
Views4.4K

Большую часть этого года я работал над расширением Swift для Visual Studio Code.

Работа является частью Swift Server Workgroup, направленной на улучшение опыта разработки на Swift за пределами экосистемы Apple.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Скрывайте Виджеты Экрана Блокировки когда устройство заблокировано

Reading time2 min
Views2K

Скрывайте Виджеты Экрана Блокировки когда устройство заблокировано.

Недавно на работе нас попросили скрыть(*спрятать) содержимое виджетов экрана блокировки, когда устройство заблокировано, подобно виджету Activity Rings, который не показывает ваш ежедневный прогресс, когда вы блокируете устройство. Оказалось, что не так уж очевидно, как этого добиться. В этом небольшом посте я хочу рассказать о том, что необходимо для достижения такого же поведения, как у виджета Activity Rings.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments2

Улучшенные API навигации SwiftUI

Reading time7 min
Views877

Сегодня мы выпускаем самое большое обновление для нашей библиотеки SwiftUINavigation с момента её первого выпуска год назад. В нём обеспечена поддержка новых API-интерфейсов iOS 16, исправлены ошибки некоторых навигационных инструментов Apple, улучшена поддержка оповещений и диалоговых окон подтверждения, а также улучшена документация.

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Разработка приложений с помощью Симулятора Аксессуаров HomeKit

Reading time3 min
Views1.4K

Узнайте, как использовать HomeKit Accessory Simulator (HAS) (Симулятор аксессуаров для HomeKit) от Apple, для имитации смарт-аксессуаров для дома при разработке приложений с поддержкой HomeKit.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments1

Обзор новых API навигации в SwiftUI

Reading time7 min
Views2.4K

SwiftUI имеет совершенно новые API-интерфейсы навигации в iOS 16 и macOS 13. Они позволяют нам определять навигацию на основе стека и навигацию по нескольким столбцам.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1

Управление загрузками в Xcode

Reading time2 min
Views2.4K

Начиная с Xcode 14, симуляторы для watchOS и tvOS доступны в виде отдельных загрузок (iOS и macOS по-прежнему «встроены»). Данное решение позволяет значительно уменьшать размер загрузки приложения, однако теперь вам придется самостоятельно управлять этими большими (3-4 ГБ) компонентами.

При первом запуске Xcode 14 вам будет предложено загрузить дополнительные платформы. Также подсказка появится, когда вы попытаетесь запустить код без среды выполнения.

Но что это за загрузки и где они хранятся? Первый совет — откройте дисковую утилиту (Disk Utility). Вы увидите кучу новых томов «Симулятор», смонтированных в разделе «Образы дисков» (Disk Images):

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

Создание пользовательского (индивидуального) макета в SwiftUI. Основы

Reading time6 min
Views1.2K

В настоящее время SwiftUI предоставляет протокол Layout, позволяющий нам создавать суперпользовательские (сверхиндивидуальные мне кажется здесь больше подходит) макеты, копаясь в системе компоновки без использования GeometryReader. Протокол Layout дает нам невероятную силу создания и повторного использования любого макета, который вы можете себе представить. На этой неделе мы узнаем, как использовать новый протокол Layout для создания макета потока в SwiftUI.

Любой макет, который вы хотите создать, должен соответствовать новому Layout протоколу. Для реализации у него есть две необходимые функции.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Чем порадует и удивит Swift в 2023 году?

Reading time9 min
Views2.9K

В проекте Swift происходит много захватывающей работы, и за всем этим трудно следить, потому что это происходит во многих различных репозиториях, пул-реквестах и форумах. Чтобы дать сообществу лучшее представление об общей картине, Основная Команда провела исследование среди рабочих групп и разработчиков по всему проекту и собрала информацию о том, на чем они сосредоточены в течение следующего года.

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

Читать далее
Total votes 4: ↑2 and ↓20
Comments1

Видение вариативных дженериков в Swift

Reading time17 min
Views1.4K

Универсальные функции и типы в Swift в настоящее время требуют фиксированного количества параметров типа. Невозможно написать функцию или тип, который принимает произвольное количество аргументов с различными типами, не прибегая к одному из следующих обходных путей:

В стандартной Библиотеке Swift есть
Total votes 1: ↑1 and ↓0+1
Comments1

Information

Rating
Does not participate
Registered
Activity