在iPhone的开发过程中,我们经常会遇到需要从服务器获取数据或者把已有数据传到服务器的情况。如何实现这些呢。一般情况下,我们会有两种选择,同步调用和异步调用服务器中提供的service。本文内容参考苹果公司文档《URL Loading System》。
做此事情之前,我们需要熟悉了解NSURLConnection类。因为我们首先需要使用NSURLConnection创建一个连接,连接到服务器的service。
连接创建成功侯,再创建一个NSMutableData实例来存储从服务器得到的数据。
代码1如下:
通过上面的代码可以看到,NSURLConnection创建的时候需要一个delegate来实现相应的操作。通常情况下,完成一个服务器的连接,到下载数据到本地device上,需要至少实现connection:didReceiveResponse:, connection:didReceiveData:, connection:didFailWithError: 和
connectionDidFinishLoading: 四个相应的方法。
代码2如下:
同时我们需要在.h文件中声明receivedData变量。如果要使本程序运行成功,我想还需要添加一个触发时间的按钮button在view上。把代码1中的内容放入button事件中,相应的程序就会异步调用到http://www.apple.com/中的内容了。
当然,我们上文的内容还只是宽泛的列出了苹果文档中的相应的代码。如果你想实现自己的service调用的话,首先需要配制自己的服务器端的servie。本文以作者的建立的service为例,大致更新一下代码1中的内容。使用的朋友可以相应的参考代码3。
代码3如下:
代码3相应内容需要换成你自己service的相应内容。
相比异步调用,同步调用要简单的多,但是相应的功能也不入异步灵活。
本文只是给了一点点提示,写得还不是很具体详细,如果有此需要的朋友,可以联系本人。
谢谢。