-
[Swift] suspend resume partial function for 함수명 해결 방법개발/Swift 2024. 3. 1. 13:11
“suspend resume partial function for 함수명”
라는 에러 발생
public func isEnabled(_ key: Key) -> Bool { return dict[key] }
let keyword is a constant and, therefore, read-only and thread-safe. When a variable is declared as var it becomes mutable and not thread-safe unless the data type is specifically designed to be thread-safe when mutable.
let 쓰면 안전한데 var 쓰면 thread safe 하지 않음
특히 배열, 딕셔너리는 var 인경우 안전하지 않음
예로 쓰는 동시에 읽는 경우 문제 발생할수 있음
public func read(_ key: Key) -> Bool { var value: Bool? serialQueue.sync { value = dict[key] } if let value = value { return value } else { return false } }
위 처럼 dict를 접근할때 직렬큐를 사용 (큐는 싱글톤 내부에서 생성해둠)
그리고 write 할때도 마찬가지로 직렬큐 사용
'개발 > Swift' 카테고리의 다른 글
Swift 네트워크 구조 잡기 (0) 2024.04.08 Xcode 정적 라이브러리 생성과 기능 모듈화 (0) 2024.04.07 [HIG] Privacy 읽기 (0) 2023.09.29 [HIG] Button 읽기 (0) 2023.09.25 Swift 데이터 감싸져 있는 안에 있는 값 꺼내서 Decode하기 (0) 2023.07.22