the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
안녕하세요 ◠‿◠ 고고입니다.
Xcode 12에서 SwiftUI View 코드에 이 부분을 작성하다가 타입 추론 에러가 떴습니다.
보통 저 에러가 뜰 때에는 짐작가는 코드들을 주석처리하고 빌드해서 에러가 뜨게 하는 부분을 찾는 편입니다.
그 부분을 찾으면 에러 메세지대로 표현을 쪼개주면 됩니다.
전 :
if !viewModel.allIssues[index].isEmpty {
ForEach(0...viewModel.allIssues[index].count - 1, id: \.self) { issue in
IssueBoardIssueRow(title: viewModel.allIssues[index][issue].title, assignee: viewModel.allIssues[index][issue].users)
.onDrag {
return NSItemProvider(object: viewModel.allIssues[index][issue].id as NSString)
}
.onDrop(of: ["public.text"], delegate: IssueBoardDropDelegate(stateIndex: index, issueIndex: issue, allIssues: $viewModel.allIssues))
Spacer(minLength: 0)
}
}
후 :
IssueBoardRow(allIssues: $viewModel.allIssues, index: index)
struct IssueBoardRow: View {
@Binding var allIssues: [[Issue]]
let index: Int
var body: some View {
if !allIssues[index].isEmpty {
ForEach(0...allIssues[index].count - 1, id: \.self) { issue in
IssueBoardIssueRow(title: allIssues[index][issue].title, assignee: allIssues[index][issue].users)
.onDrag {
return NSItemProvider(object: allIssues[index][issue].id as NSString)
}
.onDrop(of: ["public.text"], delegate: IssueBoardDropDelegate(stateIndex: index, issueIndex: issue, allIssues: $allIssues))
Spacer(minLength: 0)
}
}
}
}
View를 하나 더 만들어서 쪼개주며 해결했습니다.
'SwiftUI' 카테고리의 다른 글
SwiftUI - Lazy Navigation (0) | 2022.03.16 |
---|---|
[SwiftUI] `ForEach(_:content:)` should only be used for *constant* data. (0) | 2021.11.25 |
[SwiftUI] Previews in Xcode 번역 (0) | 2021.11.06 |
[SwiftUI] navigationBarTitle LayoutConstraints error (0) | 2021.11.06 |
[SwiftUI] iOS 13부터 지원하기 (0) | 2021.11.04 |
댓글