[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를 업데이트 해..
[Swift] Actor 이해하기 (1/2)
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Swift에서 동시성 프로그래밍을 할 때 사용하는 Actor에 대해서 정리를 해보려고 합니다! 물론 저번 글에서 동시성에 대해서 다룬 적이 있어서 Actor도 같이 살짝 설명하긴 했지만 자세히 다루진 못해서 이번 포스팅에서 좀 더 구체적으로 다뤄보려고 합니다. 해당 글이 궁금하신 분들은 여기를 참고해주세요!! 그럼 바로 시작하겠습니다!서론Swift의 동시성은 여러 작업을 동시에 수행하는 부분에서 성능과 응답성을 향상 시켜줍니다. 하지만 장점이 있는 만큼 단점도 존재합니다.단점으로는 여러 작업이 동일한 데이터를 동시에 접근할 때 문제가 발생할 수 있고 동시에 접근이 발생하게 되면 읽기 작업과 쓰기 작업이 혼재된다는 점입니다. 여러 작업이 동일한 데이터를 동..