До появления Swift Concurrency существовала вероятность того, что несколько потоков могли одновременно получить доступ к изменяемому состоянию.
Эти ошибки были мягко говоря трудновоспроизводимы, да и приложение могло нормально работать месяцами, а затем внезапно начать крашиться уже на проде.
В Swift Concurrency используется другой подход:
Вместо того, чтобы пытаться обнаружить гонки данных в рантайме, Swift пытается в первую очередь предотвратить их появление.
И как раз в центре этой системы находится протокол Sendable.
📖 В статье разбирается, как он работает, в очередной раз можно узнать, что вообще представляет собой гонка данных, почему это опасно и как Swift помогает не допустить их появление в нашем коде.
😃 iOS Dev
