UITableView错误:使用未声明的类型“ Foundation”

时间:2018-09-23 22:08:07

标签: ios swift uitableview uiimage xcode10

我有一个UITableView,其中从API中获取图像URL,并将其转换为sn图像。以下是代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let url = URL(string: imageURL)
    var image: UIImage?

    if let data = try? Data(contentsOf: url!){
        image = UIImage(data: data)! // Crashing here. it's nil
    }
}

以下是错误描述。我不知道为什么会发生,无法弄清楚。我已经调试,可以看到该URL存在并且确实获取了图像URL。那为什么会崩溃呢?这是随机崩溃,并且经常发生。我认为在更新到Xcode 10之后我已经开始看到此错误。不确定是与Xcode有关还是只是巧合,因为我从未在以前的Xcode版本中看到此错误。

有帮助吗?

打印数据描述:

  

表达式产生的错误:错误:/var/folders/57/03c16yxx1v5_bs9xtqxchnhm0000gn/T/expr22-7a390e..swift:1:65:错误:使用未声明的类型'Foundation'   Swift._DebuggerSupport.stringForPrintObject(Swift.UnsafePointer (bitPattern:0x124588550)!. pointee)

enter image description here

1 个答案:

答案 0 :(得分:0)

主要问题是使用Data(contentsOf :),该数据不应用于从URL提取图像。正确的方法是使用URLSession。经过一番搜索后,找到了适用于我的https://stackoverflow.com/a/44744511/6307359

这个解决方案