Extra argument 'error' in callのエラー対策について


サイトや他の質問で do try catch
を入れることで対策できるということは解ったのですが、それらをどこに入れるのかが解らないため質問させていただきました。

[code]

    import Foundation
    var urlString = "http://www.apple.com"
    var url = NSURL(string: urlString)!
    var request = NSURLRequest(URL: url)
    var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)
    var htmlString = NSString(data: data!, encoding: NSUTF8StringEncoding)!
    
[/code]

どうかご指導よろしくお願いいたします。




単純にエラー処理を入れるだけであれば、こんな感じになります。

[code]

    import Foundation
    
    let urlString = "http://www.apple.com"
    let url = NSURL(string: urlString)!
    let request = NSURLRequest(URL: url)
    
    do {
        let data = try NSURLConnection.sendSynchronousRequest(request, returningResponse: nil)
        let htmlString = NSString(data: data, encoding: NSUTF8StringEncoding)!
    
        // htmlStringを使った処理
        // print(htmlString)
    
    } catch let error {
    
        // エラー処理
        print(error)
    }
    
[/code]

実際に使うのであれば、NSURLConnection.sendSynchronousRequest()はiOS9でdeprecatedになっているので、NSURLSession.dataTaskWithRequest()を使う形に書きなおしたほうが良いかと思われます。




単純にエラー処理を入れるだけであれば、こんな感じになります。

[code]

    import Foundation
    
    let urlString = "http://www.apple.com"
    let url = NSURL(string: urlString)!
    let request = NSURLRequest(URL: url)
    
    do {
        let data = try NSURLConnection.sendSynchronousRequest(request, returningResponse: nil)
        let htmlString = NSString(data: data, encoding: NSUTF8StringEncoding)!
    
        // htmlStringを使った処理
        // print(htmlString)
    
    } catch let error {
    
        // エラー処理
        print(error)
    }
    
[/code]

実際に使うのであれば、NSURLConnection.sendSynchronousRequest()はiOS9でdeprecatedになっているので、NSURLSession.dataTaskWithRequest()を使う形に書きなおしたほうが良いかと思われます。

