zoukankan      html  css  js  c++  java
  • How to make an HTTP request in Swift

    from: http://stackoverflow.com/questions/24016142/how-to-make-an-http-request-in-swift

    You can use NSURLNSURLRequest and NSURLSession or NSURLConnection as you'd normally do in Objective-C. Note that for iOS 7.0 and later, NSURLSession is preferred.

    Using NSURLSession

    Initialize an NSURL object and an NSURLSessionDataTask from NSURLSession. Then run the task with resume().

    var url = NSURL(string: "http://www.stackoverflow.com")
    
    let task = NSURLSession.sharedSession().dataTaskWithURL(url) {(data, response, error) in
        println(NSString(data: data, encoding: NSUTF8StringEncoding))
    }
    
    task.resume()

    Using NSURLConnection

    First, initialize an NSURL and an NSURLRequest:

    var url = NSURL(string: "http://www.stackoverflow.com")
    var request = NSURLRequest(URL: url)

    Then, you can load the request asynchronously with:

    NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
        println(NSString(data: data, encoding: NSUTF8StringEncoding))
    }

    Or you can initialize an NSURLConnection:

    var connection = NSURLConnection(request: request, delegate:nil, startImmediately: true)

    Just make sure to set your delegate to something other than nil and check the delegate methods to work with the response and data received.

    For more detail, check the documentation for the NSURLConnectionDataDelegate protocol

    Testing on an Xcode playground

    If you want to try this code on a Xcode playground, add import XCPlayground to your playground, as well as the following call:

    XCPSetExecutionShouldContinueIndefinitely()

    This will allow you to use asynchronous code in playgrounds.

  • 相关阅读:
    1924班网址
    20192414《网络空间安全导论》第一周学习总结
    H-Angry
    A-Plague Inc
    B-Rolling The Polygon
    F-Moving On
    A-Maximum Element In A Stack
    J-Word Search
    E-Pawns
    D-Lift Problems
  • 原文地址:https://www.cnblogs.com/walkerwang/p/3819766.html
Copyright © 2011-2022 走看看