iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
980 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
В Swift 5.8 который поставляется с Xcode 14.3 вошел SE-0365
Это еще один шаг в сторону избавления от явного использования self. Теперь после того как вы развернули (unwrap) self который захвачен слабой ссылкой можно опустить self как в примере с fireCount

#swift #evolution
🔥12👍2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⌨️ Продолжаем привыкать к новому доступному синтаксису Swift 5.9, 🐱SE-0380

Теперь можно использовать if в качестве выражения, например для динамического задания значения константы 🔥

#swift #evolution
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16👎1
🐥 [SE-0460] Явная специализация дженериков в Swift
Продолжаю разбирать пропоузалы Swift. В этом предложении вводится новый атрибут @specialized , который позволяет в дженерик функции генерировать предварительно специализированные версии этой функции для определенных типов. Эта специализация создает пользовательскую реализацию функции, где "дженерики" заменяются определенными типами. Это позволяет оптимизировать функции, под конкретные типы: когда неспециализированная версия функции вызывается с одним из этих типов, компилятор генерирует код, который будет повторно отправлен в эти предварительно специализированные версии, если таковые имеются. Врядли это пригодится где-то кроме Foundation и специализированных фреймворков, но идея интересная.
#swift #evolution
Please open Telegram to view this post
VIEW IN TELEGRAM
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0456 Добавили Span свойства в стандартныю библиотеку типов

Продолжаем разбираться с "упрощениями" в Swift. В этот раз, нас спасают от небезопасной работы с контейнерами и расширяют возможности использования новых типов Span и RawSpan в существующих контейнерах.

Мотивация
Многие типы контейнеров из стандартной библиотеки могут предоставлять прямой доступ к своему внутреннему представлению. До сих пор это можно было сделать только небезопасным способом. Стандартная библиотека предоставляет эту небезопасную функциональность с помощью функций, принимающих замыкания, таких как withUnsafeBufferPointer(), withContiguousStorageIfAvailable() и withUnsafeBytes(). У этих функций есть несколько недостатков, самый заметный из которых — использование небезопасных типов, что делает их неприемлемыми в средах с повышенными требованиями к безопасности. API, принимающие замыкания, также могут быть сложны в сочетании с новыми функциями и друг с другом. Эти проблемы решаются с помощью Span. Согласно этому предложению, совместимые типы стандартной библиотеки будут предоставлять доступ к своему внутреннему представлению через вычисляемые свойства типа Span и RawSpan.

#swift #evolution #proposals
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM