當我試圖在Swift 3中解析一個簡單的網站時,我遇到了一個問題。我將在網站上找到的所有內容合併在一起,但仍然無法從其他函數中提取loginText,試圖將所有內容放入類中時,實例成員不能用於'type'錯誤。從Swift 3中提取任務的值
import Foundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
extension String {
func slice(from: String, to: String) -> String? {
return (range(of: from)?.upperBound).flatMap { substringFrom in
(range(of: to, range: substringFrom..<endIndex)?.lowerBound).map { substringTo in
substring(with: substringFrom..<substringTo)
}
}
}
}
var loginText = ""
func getToken(completionHandler: (String) ->()) {
var request = URLRequest(url: URL(string: [MY URL])!)
request.httpMethod = "GET"
var loginText = ""
let sessionConfig = URLSessionConfiguration.default
let session = URLSession(configuration: sessionConfig)
let task = session.dataTask(with: request) {data, response, err in
loginText = (String(data: data!, encoding: String.Encoding.utf8)!)
}
task.resume()
}
func viewDidLoad() {
getToken {
loginText in
loginText.slice(from: "LT", to: "1s1")
print("View Controller: \(loginText)")
}
}
print(viewDidLoad())
print(loginText)
謝謝!
你甚至不調用'completionHandler'在任務的完成處理。錯誤發生在哪裏?請解決這些問題並闡述您的問題。 – ozgur
我很抱歉。我不得不承認,我現在真的不瞭解我正在做的很多事情。我只是試圖通過使用請求來實現我在python中所做的事情,而您在這裏看到的是3小時的試用和manly錯誤的結果。我所要做的就是獲取loginText,以便能夠在getToken()之外使用它。 –