NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:TOP_APPS_URL]];
NSURLConnection *topAppsConnection = [[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease];
if (topAppsConnection)
self.topAppsData = [NSMutableData data];
下面是NSURLConnection的几个代理方法:
#pragma mark NSURLConnectionDelegate
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
NSInteger status = [(NSHTTPURLResponse *)response statusCode];
if (status != 200)
[self cancel:connection];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[topAppsData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
[self cancel:connection];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *topAppsString = [[[NSString alloc] initWithData:topAppsData encoding:NSUTF8StringEncoding] autorelease];
self.topAppsData = nil;
@try {
RootViewController *rootViewController = (RootViewController *)[navigationController.viewControllers objectAtIndex:0];
rootViewController.topApps = [[[topAppsString JSONValue] objectForKey:@"feed"]objectForKey:@"entry"];
[self.window addSubview:navigationController.view];
}
@catch (NSException *e) {
}
}
接下来,就是这几个代理方法中用到的cancel:函数的实现:
- (void)cancel:(NSURLConnection *)connection {
[connection cancel];
self.topAppsData = nil;
}
具体的例子可以到自定义UIScrollView进行下载。
分享到:
相关推荐
网络请求,NSURLConnection的使用方法及中文处理等。详情:http://blog.csdn.net/vnanyesheshou/article/details/52467639
在iOS7后,NSURLSession基本代替了NSURLConnection进行网络开发,在iOS9后,NSURLConnection相关方法被完全的弃用,iOS系统有向下兼容的特性,尽管NSURLConnection已经被弃用,但在开发中,其方法依然可以被使用,...
BDMultiDownloader, 在NSURLConnection上,基于简单块的并发多URL数据下载 基于 #BDMultiDownloader的简单 objective-c 块基于并发多址数据下载器你的应用... 这个类使用块和NSURLConnection实现了一个简单的方法。##Fe
NSURLConnection 作为 Core Foundation / CFNetwork 框架的 API 之上的一个抽象,在 2003 年,随着第一版的 Safari 的发布就发布了。NSURLConnection 这个名字,实际上是指代的 Foundation 框架的 URL 加载系统中一...
这是使用NSURLConnection为iOS进行SSL公钥固定的示例实现。 当客户端通过SSL / TLS连接到服务器时,服务器将提供证书。 该证书包含一个公共密钥。 在此示例中,我们提取公钥并将其与本地副本进行比较。 如果服务器...
可以运行项目,没有UI控件,在ViewController的viewDidLoad方法中我们使用XplatNetworkMonitorClient开始监控,并将self作为NSNotificationCenter观察者添加到kXPLNetworkMonitorNotification键。 当网络被拦截时,...
NSURLSession+SynchronousTask是一个NSURLSession类别,它将NSURLConnection类(记住sendSynchronousRequest:returningResponse:error: NSURLSession )同步任务带到NSURLSession 。 在内部,类别使用GCD等待任务...
本文介绍了iOS NSURLProtocol的具体使用方法详解,分享给大家,具体如下: NSURLProtocol定义 这两天在优化项目,无意间看到了NSURLProtocol,学习一下顺便总结下来。 NSURLProtocol也是苹果众多黑魔法中的一种,...
(1)写一个调用webservice的类webservice(代码中有两个,一个是使用NSURLConnection写的类,还有一个是ASIHttpRequest写的webservice调用类) a.同步调用 b.异步调用 c.返回数据的处理 soap调用返回的数据经常放在...
已经提供了一个用于创建和发送签名 URL 请求的,但是它没有提供一种方法来独立生成 OAuth 签名的 URL 请求并使用选择的网络库(例如 Alamofire 或 NSURLConnection)发送它们。 在这里,我们扩展了已经完成的工作...
一个优雅的库,用于在Swift中存根HTTP请求,允许您使用NSURLConnection或NSURLSession存根任何HTTP / HTTPS。 这包括从和库发出的任何请求。 安装 是推荐的安装方法。 pod 'Mockingjay' 用法 Mockingjay已与XCTest...
该项目旨在提供一种优化网络的简单方法,重点是使用 NSOperationQueue,而不是简单地使用 NSURLConnection 的异步 API 或使用 GCD 将工作卸载到辅助队列,后者对并发连接的数量和能力的控制较少取消。 批量下载多个...
它可与在基金会NSURL加载系统上构建的API一起使用,例如NSURLConnection,NSURLSession和AFNetworking,而对代码几乎没有任何更改。 特征 简单,有据可查的Objective-C API 最少的设置 与在Foundation NSURL加载...
易于使用支持不同的HTTP方法使用 Objective-C SSRESTClient 是一个使用 Objective C 语言和 NSURLConnection 类的轻量级可重用组件:版本2.0.0安装复制“SSRestClient”文件夹并将其粘贴到您的项目文件夹中。...
在iOS7之后,NSURLSession作为系统推荐使用的HTTP请求框架,在进行前台请求的情况下,NSURLSession与NSURLConnection并无太大差异,对于后台的请求,NSURLSession更加灵活的优势就将展现无遗。 1.NSURLSession集合的...
它可以与NSURLConnection , NSURLSession , AFNetworking , Alamofire或任何使用Cocoa的URL加载系统的网络框架一起使用。文档和用法示例OHHTTPStubs标头在标头文件中使用类似Appledoc / Headerdoc的注释进行了...
通过固定应用程序的NSURLConnection和NSURLSession委托来自动固定功能,以便自动将固定验证添加到应用程序的HTTPS连接; 这样就可以部署TrustKit ,甚至无需修改应用程序的源代码。入门阅读指南。 查阅。 TrustKit...