【问题标题】:String Interpolation in Swift URL Initializer Throwing ErrorSwift URL 初始化程序中的字符串插值引发错误
【发布时间】: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) 不为空
  • 尝试先构建字符串,然后将其打印到控制台,然后再将其交给初始化程序。它看起来像一个有效的网址吗?

标签: swift url


【解决方案1】:

尝试先构建字符串,然后将其打印到控制台,然后再将其交给初始化程序。它看起来像一个有效的网址吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2017-01-15
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    相关资源
    最近更新 更多