我意识到这是一个模糊的问题,但我想知道是否有其他人观察到这一点。这是我调用 NSURLConnection 的代码
// Get data from server
NSString *host = @"www.hostname.com";
NSString *urlString = [NSString stringWithFormat:@"/theRestOfTheURL"];
NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:host path:urlString];
DLog(@"URL is %@", url);
// Create the NSMutableData to hold the received data.
// receivedData is an instance variable declared elsewhere.
receivedData_ = [[NSMutableData data] retain];
NSURLRequest *theRequest=[NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:15.0];
// create the connection with the request
// and start loading the data
self.powerPlantDataConnection = [[[NSURLConnection alloc] initWithRequest:theRequest delegate:self] autorelease];
[url release];
当我第一次加载应用程序时,它运行良好,我可以重复调用它而没有任何问题。但如果我关闭应用程序并重新打开它,
(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
每次都会调用委托方法,并显示请求超时错误消息。我有两个不同的视图控制器,我在其中调用两个不同的 URL,并且每次关闭并重新打开应用程序后它们都会失败。
谁能想到为什么会发生这种情况?我不确定从哪里开始寻找。请求超时错误的原因可能是什么?该请求应该没有任何问题,因为它在我第一次运行应用程序时有效。
编辑补充说,我似乎只在我的设备上遇到这个问题,而不是在模拟器上。