Static 선언 시 에러 발생
39
25 asked
Static property 'coin' is not concurrency-safe because it is nonisolated global shared mutable state
위와같은 에러가 아래의 코드에서 발생합니다.
class KBank {
static var coin: Int = 0
}제시되는 해결법중 메인액터를 붙여서 해결은 하였는데요, 위와 같은 현상에 관한 것은 어떤 키워드로 학습하면 좋을지 여쭤봅니당
class KBank {
@MainActor static var coin: Int = 0
}
var regionOneKBank = KBank()
var regionTwoKBank = KBank()
var regionThreeKBank = KBank()
KBank.coin
class Banker {
@MainActor func plus() {
KBank.coin += 1
}
@MainActor func minus() {
KBank.coin -= 1
}
}
var banker1 = Banker()
var banker2 = Banker()
banker1.plus()
banker1.plus()
banker1.plus()
banker1.plus()
banker1.plus()
banker1.plus()
banker2.minus()
KBank.coin
// 다만 생성된 인스터스에서 바로 코인에 재할당하는것은 안되더라구요ㅠ_ㅠ
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
jj4783님께서 겪고 계신 문제는 Swift의 동시성 관련 기능과 관련된 문제입니다. 특히 Swift 5.5부터 도입된 Concurrency와 관련하여 학습하시는 것이 좋습니다. 동시성은 여러 실행 흐름이 겹치는 것을 방지하고, 메인 액터와 같은 개념을 통해 UI와 관련된 업데이트를 안전하게 처리하기 위한 구조입니다.
공유된 가변 상태의 경우, 이를 안전하게 관리하기 위해 @MainActor와 같은 접근 제어자를 사용할 수 있는데, Swift의 동시성 모델에는 이러한 개념들을 어떻게 활용해야하는지 학습하시면서 이해를 깊게 하실 수 있습니다.
추가적으로 학습할 수 있는 키워드로는 “Swift actor model”, “Swift concurrency”, “@MainActor”, “@isolated” 등을 추천드립니다. 이를 통해 코드 안전성과 성능 최적화에 유용한 개념들을 학습하시길 바랍니다.
추가적인 설명이나 예제를 보고 싶으시면 Swift 공식 문서를 참고하시면 좋습니다.
감사합니다.
클로저의 형태로 만들다
0
43
1
Function Types Error
0
34
1
패싱1강에서 강의중에 질문 있습니다.
0
100
2
table view 없음
0
126
2
에러 질문 [UITextField setDataSource:]: unrecognized selector sent to instance 0x107079600"
0
232
2
Main interface 지정 방법
0
193
1
Closure_3 Capture List에 참조 타입 값을 작성할 경우에도 deinit 실행되는 이유가 뭘까요?
0
196
2
TodoCell UIview 생성 후 연결 시 오류
0
442
2
테이블 뷰 데이터 업데이트 관련 질문
0
369
2
TODO List Coredata 질문입니다.
0
358
1
혹시 추가예정인 강의가 대략 언제쯤 나오는지 알수있을까요..?
0
378
1
swift에서 import 헤더를 안해도 되는이유가 궁금합니다.
1
649
1
closure 3 에서 weak로 준 부분이 궁금합니다.
0
344
1
concurrency_1 강의 코드 결과 중 이해가 안가는 부분이 있습니다
0
347
1
self.navigationBar.topItem?.leftBarButtonItem을 해도 button이 보이지 않습니다
0
611
2
func 기능을 쓸때 self. 을 왜쓰는지 이해가 잘안되네요 ㅠㅠ
0
430
1
Closure2 강의에서 예문처럼 똑같이 myfunc2, myfunc3 만들었을때
0
397
1
클론강의 tableViewCell
0
418
1
Location.pin강의에서 self질문이요
1
273
1
넷플릭스 table cell 관련해서 질문이 있습니다.
0
523
1
Capturing Valus
0
308
1
안녕하세요 todolist강의중에서 UI구성중 xib파일 오토레이아웃질문입니다.
0
334
1
환율 강의 테이블뷰에서 데이터 관련 질문있습니다.
0
573
2
환율 네트워크처리1 질문있습니다.
0
285
1

