2017-02-04 5 views
0

I持って次のコード:これはオンライン古いプロジェクトからのものであり、スウィフトは、私にこのエラーコードを与えているURLSessionエラー3

func downloadItems() { 

    let url: NSURL = NSURL(string: urlPath)! 
    var session: URLSession! 
    let configuration = URLSessionConfiguration.default 

    session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil) 

    let task = session.dataTask(with: url as URL) 

    task.resume() 

} 

'URLSession' を生成「()期待される文脈の結果のタイプ 'URLSession!'ではありません。

私はこれについてStock Overflowで質問していますが、すべての回答は古いバージョンのSwiftのもので、その他のエラーが発生します。ここで

は、私が見つけた他の質問です:NSURL(文字列:

How to set URLSession Swift 3

URLSession error

+1

は、URLを聞かせて '置き換えるためにきれいにし、プロジェクトをビルドしてもしようとしてみました: urlPath)! 'と' let url:URL = URL(string:urlPath)! 'を入力して、NSURLをURLにキャストする必要はありません。 'session.dataTask(URL:with URL)'の代わりに、 'session.dataTask(with:url)'を使うだけです。 – ronatory

+0

@ronatoryあなたが示唆したすべてを行ったが、エラーメッセージに変更はありません。 – AEquinox01

+0

ok sad。どのXcodeバージョンがありますか? – ronatory

答えて

0
var request = URLRequest(url: URL(string: urlPath!)) 
request.httpMethod = "GET" 
task1 = URLSession.shared.dataTask(with: request) { data, response, error 

in guard let data = data, error == nil else {             

// check for fundamental networking error 

    print("error=\(error)") 

return 

} 

if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { 


    // check for http errors 

    print("statusCode should be 200, but is \(httpStatus.statusCode)") 

    print("response = \(response)") 

} 

let json=JSON(data: data); 

self.json=json; 

self.parse(json: json) 

} 

task1.resume() 
+1

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当に品質を改善するのに役立ちますあなたの投稿の将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – Machavity

関連する問題