SwiftUI图像导致中止陷阱6

问题描述 投票:0回答:1

当我运行以下代码时,我只会得到一个错误:中止陷阱:6。有人知道吗我已经尝试删除派生的数据文件。

class ImageViewModel: ObservableObject {
    @Published var image: UIImage = nil
    let session = URLSession.shared

    func loadImage() {
        guard let url = URL(string: "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png") else {
            print("Invalid URL")
            return
        }
        let request = URLRequest(url: url)
        session.dataTask(with: request) {data, response, error in
            guard let data = data else {return}
            DispatchQueue.main.async() {
                self.image = UIImage(data: data)
            }
        }
    }

}

struct ImageView: View {
    @ObservedObject var viewModel = ImageViewModel()

    var body: some View {
        Image(uiImage: viewModel.image)
        .onAppear(perform: loadImage)
//        Text("hi")
    }

    func loadImage() {
        viewModel.loadImage()
    }
}
swift xcode swiftui
1个回答
0
投票

不用担心,是因为这个原因:

var image: UIImage = nil

而且因为我没有添加:

.resume()
© www.soinside.com 2019 - 2024. All rights reserved.