【发布时间】:2010-11-06 17:36:25
【问题描述】:
NSURL *URL = [NSURL URLWithString:@"http://www.stackoverflow.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
使用如此简单的代码,我可以在我的应用程序中加载网页。我不必担心保留或释放NSURLConnection,它会在加载完成后自动释放。
我正在围绕 NSURLConnection,JSONConnection 创建某种包装器。它允许我从网页加载 JSON 值并自动将其解析为 NSDictionary。现在,我必须像这样使用它:
JSONConnection *tempJSONConnection = [[JSONConnection alloc] initWithURLString:@"http://www.stackoverflow.com" delegate:self];
self.JSONConnection = tempJSONConnection;
[tempJSONConnection release];
然后,加载完成后,我调用self.JSONConnection = nil;。
我想要的是这样做:
JSONConnection *connection = [JSONConnection connectionWithURLString:@"http://www.stackoverflow.com" delegate:self];
我知道如何创建这个方法。我只是不知道如何在运行循环完成并且自动释放池耗尽时保持connection 活着,并确保在完成加载时释放connection。换句话说,我不会复制NSURLConnection 的确切行为。
【问题讨论】:
-
只是一个历史记录。多年来,传统上这是使用allseeing-i.com/ASIHTTPRequest 完成的!但是多年来(大约从 2012 年开始??)图书馆已经消失了。它是目前最好的图书馆之一,为行业提供了良好的服务。
标签: iphone objective-c cocoa-touch ios nsurlconnection