NSURLRequest 和 NSURLConnection 的网络操作

jopen 10年前

在swift中,使用NSURL来表示一个网络URL,而相关操作都是通过NSURLRequest来实现的。

常见方法1:

var loadURL = NSURL.URLWithString("http://0.0.0.0:8080")

var request = NSURLRequest(URL: loadURL)

常见方法2:

func syncHttpTesting(){

    var url = "http://0.0.0.0:8080"

    var content = NSString(contentsOfURL: NSURL(string: url),

                encoding: NSUTF8StringEncoding, error: nil)

    var binContent = NSData(contentsOfURL: NSURL(string: url)!)

    // 二进制要做如下转换

    // println(NSString(data: binContent!, encoding: NSUTF8StringEncoding))

}

以上两种都是同步的网络请求,异步请求一般使用NSURLConnection来实现。

常见方法3:

func asyncHttpTesting(){

    var url = "http://0.0.0.0:8080"

    var resp: NSURLResponse?

    var error: NSError?

    var data = NSURLConnection.sendAsynchronousRequest(

                NSURLRequest(URL: NSURL(string: url)!), returningResponse: &resp, error: &error)

    if let d = data {

        println(NSString(data: d, encoding: NSUTF8StringEncoding))

    }

    if let r = rest {

        println(r)

    }

    if let e = error {

        println(e)

    }

}

来自:http://blog.csdn.net/icetime17/article/details/41292615