ios之使用cocoa框架联网

来源:互联网 发布:要成为一个编程大牛 编辑:程序博客网 时间:2024/06/12 22:57

1、处理网络请求

     主要使用的类有:NSURL、NSURLRequest、NSURLURLSession。

      使用的先后步骤是:NSURL、NSURLRequest、NSURLSession。

2、NSURL

    NSURL类表示一个URL,NSURL就是模型对象,包含了其指向的资源的位置,提供了很多方法,用来提取NSURL的特定组件及创建相对于其他URL的URL。

     简单使用如下:

let m_url = NSURL(string:"https://www.google.com.hk/?gws_rd=ssl");
    如果使用NSURL(string:String) , 那么,提供的网址必须是个构建良好的URL,相反,则会得到一个nil的返回值。

   注意:NSURL是一个不可改变的类,若想创建一个URL对象,并且能在将来修改它的属性,那么,请使用NSMutableURL

3、NSURLRequest

      有了指明的资源位置的NSURL对象了,就可以构造NSURLRequest。

      NSURLRequest取得NSURL后, 并向其添加一些信息,比如,这个请求的在多长时间内等不到回应才会超时,是否使用缓存,若这个请求是一个HTTP请求,应当,使用哪种请求方法,以及请求的主体是什么。

     简单使用如下:

let request = NSURLRequest(URL:m_url!);
       该方法,创建了一个请求,它会根据所用协议的默认缓存策略来缓存内容,,并在60s之后,超时。     

关于下面这个方法:

NSURLRequest(URL:NSURL, cachePolicy:NSURLRequestCachePolicy,timeoutInterval:NSTimerInterval);

 在使用这个方法 的时候,需要指明应当如何混存它下载的内容,记忆请求放弃之前,应当等待多长时间。

      若使用NSMutableRequest,要再创建请求之后进行配置。例如:

let mutableRequest = NSMutableURLRequest(URL:m_url!);        mutableRequest.HTTPMethod = "POST";

4、NSURLSession

    已经完成创建请求了,接着就可以在网络上执行该请求了。这时,NSURLSession就该出场了。

    它主要由4个对象组成:NSURLSession、NSURLSessionDelegate、NSURLSessionConfiguration、NSURLSessionTask。

    NSURLSessionConfiguration:见名知意。表示会话配置。它提供了处理混存,cookie策略,代理,超时。所创建的每个对象都是可变的,换而言之,多个对话可以共享一个会话配置。

     NSURLSessionTask:表示会话处理的一项任务。它包含了所执行的任务状态。提供了一些用来取消、挂起和恢复任务的方法。

     NSURLSession及NSURLSessionDelegate: 负责执行发送给它的任务。若希望在应用程序使用NSURLSession在ios上后台下载,那就必须指定处理会话的委托方法,并在应用程序委托中实现application(_, handleEventsForBackgroundURLSession:, completionHandler:)。

5、NSURLResponse 和 NSHTTPURLResponse

      这2个类是用来响应服务器对请求的最初响应的。包括下载文件的预期大小(字节),服务器对他的命名。若正在发出一个HTTP请求,服务器响应就是NSHTTPURLResponse的一个实例。

     通常,不用自己创建NSURLResponse实例,而是在NSURLSession 或  NSURLConnection对象首次成功地从服务器获得响应并开始下载内容。

1 0