【发布时间】:2012-04-26 12:29:27
【问题描述】:
我在这里很新。我试图从网络服务器更新文件的内容,只有当它发生变化时。我在这里找到了一个在 NSURLconnection 中使用同步连接的代码示例。 可以异步做吗?
【问题讨论】:
-
是的,可以这样做
标签: iphone objective-c ios cocoa-touch ios5
我在这里很新。我试图从网络服务器更新文件的内容,只有当它发生变化时。我在这里找到了一个在 NSURLconnection 中使用同步连接的代码示例。 可以异步做吗?
【问题讨论】:
标签: iphone objective-c ios cocoa-touch ios5
NSURLConnection 具有用于同步连接的方法sendSynchronousRequest:returningResponse:error:。它还有一个用于异步连接的方法sendAsynchronousRequest:queue:completionHandler:。您需要为completionHandler 参数创建一个块,用于处理来自Web 服务器的响应。
还有:
initWithRequest:delegate:initWithRequest:delegate:startImmediately:start可用于异步使用。你需要实现NSURLConnectionDelegate 的一些方法来处理异步响应。
请参考NSURLConnection Class Reference和NSURLConnectionDelegate Protocol Reference。
【讨论】:
我认为ASIHTTPRequest 是最简单的解决方案:
为您的ASIHTTPRequest 设置request 方法
// HTTP method to use (eg: GET / POST / PUT / DELETE / HEAD etc). Defaults to GET
NSString *requestMethod;
或者您可以使用download cache
ASIHTTPRequest 可以自动将下载的数据存储在缓存中以供以后使用。这在许多情况下都有用...
【讨论】: