[Swift] Swift 6로 마이그레이션 하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 WWDC24 세션 "Migrate your app to Swift 6"의 내용을 바탕으로 내 앱을 Swift 6로 마이그레이션 하는 방법에 대해서 정리를 해보려고 합니다. 더 자세한 내용은 아래 링크 참고해 주세요!Why Swift 6?내 앱은 이미 잘 돌아가고 있는데 왜 굳이 Swift 6로 올려야 하지?라는 생각이 드실 수 있습니다. Swift 6 전까지는 개발자가 '이 작업은 메인 스레드에서, 저 작업은 백그라운드에서'라고 기억하면서 DispatchQueue를 복잡하게 사용해야 했습니다. 만약에 실수로 한 데이터를 여러 곳에서 동시에 수정하면 앱이 크래시가 발생하거나 데이터가 꼬이는 Data Race라는 게 발생했습니다. 하지만 Swift 6에서는 ..
[Swift] Actor 이해하기 (2/2)
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 저번 포스팅에 이어서 Actor에 대해서 마저 정리해보도록 하겠습니다. 혹시 지난번 포스팅이 궁금하신 분들은 여기를 참고해주세요! 그럼 바로 시작합니다! MainActor란?MainActor는 Swift에서 UI 업데이트와 같은 작업을 메인 스레드에서 실행하도록 보장하는 특수한 Actor입니다. Swift에서는 메인 스레드는 메인 액터(Main Actor)로 표현합니다. 다른 말로는 전역 액터(goabal actor)라고도 표현을 하는데 전역이라는 말에서 알 수 있듯이 메인 스레드에서 실행해야 할 코드를 프로그램 코드 전체에서 접근할 수 있기 때문입니다. 앱을 개발하다 보면 메인 액터에서 실행해야 하는 코드들이 있을 수 있습니다. 특히 UI를 업데이트 해..