【发布时间】:2018-05-04 04:32:45
【问题描述】:
我有以下代码:
source.id = "abc-news"
let articlesBySourceURL = URL(string: "https://newsapi.org/v2/top-headlines?sources=\(source.id)&apiKey=somekeyhere")!
它总是抛出以下错误:
线程 1:致命错误:打开包装时意外发现 nil 可选
我错过了什么吗?
【问题讨论】:
-
很明显,当
URL(string:)返回nil时,崩溃是由于强制展开URL。当然,这意味着您的最终字符串不是有效的 URL。 -
不要进行快速的 URL 字符串插值。不要打电话给
URL(string:)。使用 URLComponents 正确形成 URL。这就是它的用途。 -
“我错过了什么吗?” Swift 知识?
-
谢谢!但我的 (source.id) 不为空
-
尝试先构建字符串,然后将其打印到控制台,然后再将其交给初始化程序。它看起来像一个有效的网址吗?