当使用 Xcode 13.2.1 和 SwiftUI 实现一个简单的幻灯片时,我遇到了一个编译时错误,其中 Xcode 在我的 M1 上花了大约 5 分钟来决定它无法解析我的代码,并最终给出错误:
编译器无法在合理的时间内对该表达式进行类型检查;尝试将表达式分解为不同的子表达式
我将其范围缩小到底部附近的 NavigationLink 线。如果我注释掉它,它会快速编译,只显示警告。
以下是我的最小的、可重现的示例:
import SwiftUI
import Foundation
enum MarkerType: Double {
case unlabeled = -99
case end = -4
case start = -3
case stop = -2
case blank = -1
case image = 1
}
class LabeledImage {
let image: Image
let marker: Double
var appeared = false
init(image: Image, marker: Double) {
self.image = image
self.marker = marker
}
}
struct SlideShow {
private …Run Code Online (Sandbox Code Playgroud)