UITableView 错误:使用未声明的类型“Foundation”[重复]
Posted
技术标签:
【中文标题】UITableView 错误:使用未声明的类型“Foundation”[重复]【英文标题】:UITableView error: use of undeclared type 'Foundation' [duplicate] 【发布时间】:2018-09-23 22:08:06 【问题描述】:我有一个 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)
【问题讨论】:
暂时忽略 Foundation 错误,您的代码存在很多问题。!
的错误用法太多了(这是导致崩溃的原因)。您正在主队列上从 Internet 下载数据 - 这非常糟糕。永远不要使用Data(contentsOf:)
。使用URLSession
。
Tx 麦迪。没有意识到我做错了,崩溃很明显。我终于设法用 URLSession 弄明白了。
【参考方案1】:
主要问题是使用不应用于从 URL 获取图像的 Data(contentsOf:)。正确的方法是使用 URLSession。经过一番搜索,找到了一个适合我的解决方案https://***.com/a/44744511/6307359
【讨论】:
以上是关于UITableView 错误:使用未声明的类型“Foundation”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
ViewController 中的 Swift 错误“使用未声明的类型”