SwiftUI
[SwiftUI] Xcode 12 타입 추론 에러
고고
2021. 11. 4. 08:44
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를 하나 더 만들어서 쪼개주며 해결했습니다.