20466


サイトや他の質問で 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]

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


CC BY-SA 3.0
2015-12-29T09:33:08.217
20451
2015-12-30T03:35:11.260
2015-12-29T10:08:50.060
76
13833
question
swift
Extra argument 'error' in callのエラー対策について


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

[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()を使う形に書きなおしたほうが良いかと思われます。


CC BY-SA 3.0
2015-12-30T03:35:11.260
20466
2015-12-30T03:35:11.260
7459
20451
answer