繁体   English   中英

如何设置URLSession Swift 3

[英]How to set URLSession Swift 3

嘿,使用Swift 3遇到麻烦了。我有以下代码:

public var urlSession : URLSession?
self.urlSession = URLSession(configuration: URLSessionConfiguration.default,
            delegate: self,
            delegateQueue: OperationQueue.main)

我收到以下错误消息: “ URLSession产生(),而不是预期的上下文结果类型URLSession?”

我在这里做错了什么?

我问你的URLSession函数?

也许您的代码中的问题是这样的:

func URLSession(session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
    self.data.append(data as Data)  
}

和:

func URLSession(session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    if error != nil {
        print("Failed to download data")
    }else {
        print("Data downloaded")
        self.parseJSON()
    }
}

所以代替:

func URLSession(session:

做这个:

func urlSession(_ session:

最终将像:

func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
    self.data.append(data as Data)  
}

func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
    if error != nil {
        print("Failed to download data")
    }else {
        print("Data downloaded")
        self.parseJSON()
    }
}

如果它不能解决您的问题,请使用更多代码更新您的问题。 ✌️

斯威夫特3.0

let urlString=  "URL String"
let myUrl = URL(string: urlString);
let request = NSMutableURLRequest(url:myUrl!);
request.httpMethod = "GET";

let task = URLSession.shared().dataTask(with: request as URLRequest) {
    data, response, error in

    if error != nil {
        print(error!.localizedDescription)
        DispatchQueue.main.sync(execute: {
            AWLoader.hide()
        })
        return
    }

    do {

let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSArray 

 if let parseJSON = json{
 print(parseJSON)
 } else {
 AWLoader.hide()
 }
catch{
        AWLoader.hide()
        print(error)
    }
}
task.resume()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM