👉 Value и Reference типы в Swift
👉 Как выбрать между структурой и классом
👉 Реализация стандартных протоколов
👉 Работа с состоянием приложения
👉 Предотвращение проблем с синхрониацией при использовании замыканий
Please open Telegram to view this post
VIEW IN TELEGRAM
Swift.org
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
👍6👌1
Если вы решите перенести настройки сборки Xcode из файла вашего проекта в файлы xcconfig, эта утилита может упростить этот первоначальный шаг. Это также простой способ для любопытных взглянуть на настройки сборки в проекте, не опасаясь их случайного изменения.
Для каждого целевого объекта и самого проекта Build Setting Extractor сгенерирует один файл xcconfig для каждой конфигурации сборки плюс общий файл xcconfig со всеми общими настройками сборки для этого целевого объекта.
Чем эта утилита отличается от других? Она поддерживается с 2015 года разработчиком из Apple 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Свежий swift пакет benchmark для автотестов производительности реализован в виде плагина командной строки и добавляет одноименную команду для взаимодействия с бенчмарками
👉 Подробная документация Swift Package Index DocC.
👉 Поддерживает измерение широкого диапазона выборок при помощи HDR Histogram
👉 Отдельный репозиторий с примерами использования
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
В этом году WWDC пройдёт с 10 по 14 июня, начало в 20:00 GMT+3. А пока можно подписаться на новый канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Принят пропоузал добавляющий возможность настроить логику проверки изоляции для серийного исполнения кода. Это еще один шаг к Swift 6 и безопасному параллелизму. Пропоузал описывает решение проблемы с проверкой изоляции при исполнении асинхронных методов внутри серийных очередей. Сейчас при исполнении асинхронной работы в серийной очереди проверка assumeIsolated фейлится, несмотря на отсутствие возможных проблем с многопоточностью.
В рамках пропоузала описывается что будет добавлен новый механизм сравнения исполнителей, который будет использоваться всеми API-интерфейсами для проверки изоляции в библиотеке параллелизма.
Реализовано через новую функцию в SerialExecutor:
protocol SerialExecutor: Executor {
func checkIsolation()
}
extension SerialExecutor {
public func checkIsolation() {
fatalError("Incorrect actor executor assumption, expected: \(self)")
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
swift-evolution/proposals/0424-custom-isolation-checking-for-serialexecutor.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
👍2
Swift Playground - идеальный инструмент для экспериментов со Swift. Почти всегда достаточно синхронного выполнения кода, но иногда хочется проверить что-то с асинхронным выполнением, например, для извлечения данных с сервера. Swift Playground по умолчанию выполняет код синхронно а при выполнении асинхронного кода мы видим вечное исполнение кода "Waiting for tasks to complete...". Чтобы это исправить - достаточно добавить
import PlaygroundSupport
и в коде вызвать:Все! Теперь мы можем тестировать асинхронный swift код и программа завершится корректно после выполнения всех асинхронных задач. Логика похожа на работу с DispatchGroup
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Рабочая группа по популяризации разработки серверных приложений на Swift подвела промежуточные итоги и огласила цели на 2024 год:
Из того что меня удивило, результаты опроса использующих Swift на сервере:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4