【发布时间】:2020-08-07 16:23:48
【问题描述】:
在展开可选值时意外发现 nil» 错误
上线
let test: Element? = try doc!.select("div.image").first()!
我想在传递不同的 url 链接时使用 SwiftSoup 获取 div 与类图像 之间的所有元素。如果没有 没有类图像的 div 那么我想要打印“错误”
我有 if let ... 的可选绑定,但它也会出错..
如何安全地检查可选值?
import UIKit
import WebKit
import SwiftSoup
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let session = URLSession.shared
let url = URL(string: "http://www.example.com.html")!
let task = session.dataTask(with: url ) { (data, response, error) in
// Check whether data is not nil
guard let loadedData = data
else {
return
}
// Load HTML code as string
let contents = String(data: loadedData, encoding: .utf8)
do {
let html: String? = contents
let doc: Document? = try SwiftSoup.parse(html!)
let test: Element? = try doc!.select("div.image").first()!
if let test1 = test{
print(test1)
}else {
print("error")
}
} catch Exception.Error(let type, let message) {
print(message)
} catch {
print("error")
}
}
task.resume()
}
}
【问题讨论】: