ios 4

[Swift] Actor 란?

동시성 프로그램을 만드는데 있어 어려운 문제중 하나는 Data Race를 피하는 것이다. Data Race란, 2개 이상의 개별 스레드가 동시에 동일 데이터에 접근해 접근중 하나 이상의 write가 발생할때 일어나는 이슈이다 이 DataRace가 일어나는 원인은 데이터가 shared mutable state이기 때문인데 데이터가 변경되지 않거나 공유되지 않는다면 data race는 발생할 수 없다 Actor Actor는 shared mutable state에 대한 동기화 매커니즘으로 Actor는 자신만의 상태를 가지며 해당 상태는 Program의 나머지 부분과 분리된다. Actor를 사용하면 Actor의 상태에 동시에 접근하지 않도록 해준다 class와 같이 사용하면 되지만 클래스와 달리 상속을 지원하지..

iOS/Swift 2024.07.03

[SwiftUI] @StateObject vs @ObservedObject

SwiftUI에서 사용하는 어노테이션중 @StateObject와 @ObservedObject는 왜 사용하는 것일까? @StateObject & @ObservedObject- 둘다 관찰중인 객체의 변경에 반응해서 화면(UI)을 업데이트 할 수 있게 해주는 SwiftUI의 Property Wrapper이다  그렇담 StateObject와 ObservedObject의 차이는 무엇일까? @ObservedObject- StateObject와 ObservedObject는 둘 다 "ObservableObject"라는 Protocol을 따른다final class CounterViewModel: ObservableObject{ @Published var count = 0 func incrementCou..

iOS/SwiftUI 2024.07.01

[iOS] Failure starting audio queue \M-3<…>

iOS에서 STT와 TTS를 이용한 작업을 하다 2개를 번갈아 가며 사용하려고 하는데 STT를 사용하다가 TTS를 사용하려고 하니 아래와 같은 문제가 발생하였다. Failure starting audio queue \M-3 찾아보니 audioSession.setCategory를 사용해 audio 사용에 관해 명확히 지정을 해야 한다고 나왔다. NSError* error; [[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryPlayback error:&error]; AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:textStr]; utterance.voi..

Issue Tracking 2021.11.02