티스토리 뷰
728x90
반응형
예전에 진행됐던 프로젝트를 다시 살리던 중, 빌드가 굉장히 오래걸리며 (빌드하는데만 3~40분 소요된거 같다..)
결국 에러가나서 하루를 꼬빡 날렸던 적이 있다..
(내 맥북 배터리만 엄청나게 녹아내렸다😭)
The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
swiftUI로 작성된 프로젝트에서 해당 오류가 발생한다...
구글에 검색하면 보통 "타입추론 오류"이며, 너무 과한 타입추론을 중간에 한번 나눠줌에따라 해결하라는 글이 대다수이다.
근데, 난 그렇게 해결할 수가 없었다
import SwiftUI
struct TestView: View {
var body: some View { // << 이 곳에서 빨간줄이 생긴다
// ...
}
}
body
부분에 빨간줄이 생기기 때문에... 위와같은 방법으로는 해결할 수가 없었다
그래서 디버깅의 정석대로.. 한줄한줄 주석을 지우며 일일히 빌드해본 결과
ScrollView() {
LazyVStack() {
ForEach(Array(data.enumerated()), id: \.offset) { (index, item) in
TestList(data: data[index])
.padding(10)
.id(index) // << 이 부분이 문제였다
// ...
}
}
}
마땅히 해결 방법이 떠오르지 않았고, 혹시 저 index
가 Int
형으로 들어가지 않는건가? 하여 캐스팅 해줬더니... 된다...(?????)
.id(Int(index))
더도말고 덜도말고 그냥 이렇게만 해줬는데 잘 돌아간다..
아니 왜 그런거지?? option키 눌러서 index
의 타입을 확인해보면 분명 Int
형이라고 나오는데...
(혹시 아시는 분이 계신다면 꼭 공유부탁드립니다...😭)
728x90
반응형
'iOS' 카테고리의 다른 글
Auto Layout - Anatomy of a Constraint (0) | 2021.06.19 |
---|---|
Table View (0) | 2021.05.23 |
URLSession API (0) | 2021.01.28 |
GCD (0) | 2021.01.27 |
Concurrency (0) | 2021.01.27 |