Отметка класса или функции как отправляемая гарантирует безопасность пересечения одновременных границ, безопасность типов значений, поскольку они реализуют копирование при записи и т. д. Все это мы находим в документации по языку Swift. Но я хочу сказать, что Sendable не гарантирует, что переменная не будет содержать гонок данных. У нас могут быть гонки данных даже в базовых типах значений, таких как Int, как показано в коде ниже. Таким образом, Sendable не означает безопасность данных от одновременного доступа/изменения, это лишь означает, что значение можно безопасно копировать в разные потоки. Но мой вопрос: какую проблему это решает или в чем тогда важность наличия конструкции Sendable? Может кто-нибудь объяснить это?
var num = 0
DispatchQueue.global(qos: .background).async {
for _ in 0..
Подробнее здесь: https://stackoverflow.com/questions/793 ... l-in-swift