Fatal error: Unexpectedly found nil while unwrapping an Optional value SwiftUI AnimatedImage

Fatal error: Unexpectedly found nil while unwrapping an Optional value SwiftUI AnimatedImage

我正在使用 SDWebImage 显示来自 firestore 数据库的图像,目前出现错误:

Fatal error: Unexpectedly found nil while unwrapping an Optional value.

不太确定如何进行 if 检查以防止强制展开,所以如果有人能给我一个替代语法示例,我将不胜感激。

@ObservedObject var movies = getMoviesData()

...

ForEach(self.movies.datas) { item in
        VStack {
             Button(action: {}) {
                 AnimatedImage(url: URL(string: item.img)!)
                  .resizable()
                  .frame(height: 425)
                  .padding(.bottom,15)
                  .cornerRadius(5)                           
              }
         }
}

也尝试与 nil 进行比较(如文章中所建议的:)但没有用。

问题是您将 展开的 值与 nil 进行比较。您的程序甚至在比较之前就崩溃了。

您需要比较可选值:

if (URL(string: item.img) != nil) { ... }

最好甚至使用 if-let 来确保 url 不是 nil:

Button(action: {}) {
    if let url = URL(string: item.img) {
        AnimatedImage(url: url)
            .resizable()
            .frame(height: 425)
            .padding(.bottom, 15)
            .cornerRadius(5)
    }
}