Objective c 如何使用NSURLConnection刷新连接

Objective c 如何使用NSURLConnection刷新连接,objective-c,xml-parsing,nsurlconnection,Objective C,Xml Parsing,Nsurlconnection,我正在为学校做一个项目,我想知道如果用户提交了一些东西,是否有办法用NSURLConnection更新连接。例如,我使用基于用户名的twitter搜索,并且在加载视图时设置了默认用户名。当用户在该页面上输入不同的用户名时,我必须如何刷新该连接?我已经设置了所有的按钮处理程序,并且使用了与viewDidLoad函数相同的代码。是否有一个方法调用或一些实际会重置连接的东西 谢谢 David我附上了示例代码 // member variable 'conn' // NSURLConnection *c

我正在为学校做一个项目,我想知道如果用户提交了一些东西,是否有办法用NSURLConnection更新连接。例如,我使用基于用户名的twitter搜索,并且在加载视图时设置了默认用户名。当用户在该页面上输入不同的用户名时,我必须如何刷新该连接?我已经设置了所有的按钮处理程序,并且使用了与viewDidLoad函数相同的代码。是否有一个方法调用或一些实际会重置连接的东西

谢谢


David

我附上了示例代码

// member variable 'conn'
// NSURLConnection *conn;
// @property(strong, nonatomic) NSURLConnection *conn;
-(void)viewDidLoad {
  [super viewDidLoad];
  [self sendRequest];
}
- (IBAction)sendButtonClicked {
  [self sendRequest];
}
- (void)sendRequest {
  if (self.conn) {
    [self.conn cancel];
    self.conn = nil;
  }
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
    NSURLConnection *conn = [NSURLConnection connectionWithRequest:request delegate:self];
    self.conn = conn;
    [conn start];

} 
// NSURLConnection Delegates
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
   // append received data
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
   // error handling
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
   // using data
}

我认为你不能“重置”连接。你必须提出新的要求。在按钮单击方法中,只需使用新用户名进行新的请求调用。 它的工作原理类似于浏览器中的请求,当您更改url中的某些参数时,浏览器会向web服务器发送新请求

看看apple的这个例子(如果您不需要缓存部分,只需关注URLCacheConnection.h/.m)

Nanako,谢谢你看。我有我的按钮按下以取消旧的请求和连接,并建立新的。它还重新解析并重新加载我正在使用的表视图,但它仍然从未真正启动新连接=/谢谢你的建议。我在按下按钮时取消了旧的连接,取消了请求和连接,然后重新启动,但它仍然不起作用。我实际上找到了代码中不起作用的地方。我在ConnectionIDFinishLoading结束时设置的解析器实际上没有启动。它第一次运行,但不是在按下按钮之后运行。我认为问题出在我尝试更改缓存策略使其不缓存时,但仍然没有解决问题。不过我正在做更多的研究。谢谢你的帮助c: