我知道這是一個模糊的問題,但我想知道是否有其他人觀察到了這一點。這裏是我的調用NSURLConnection的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];
當我第一次加載它工作正常的應用程序代碼,我可以重複調用它沒有任何問題。但是,如果我關閉了應用程序並重新打開該應用程序,則每次都會調用委託方法,請求超時錯誤消息。我有兩個不同的視圖控制器,我正在調用兩個不同的URL,並且每次在關閉並重新打開應用程序後都失敗。
任何人都可以想到爲什麼會發生這種情況?我不確定從哪裏開始尋找。可能是請求超時錯誤的原因是什麼?請求沒有問題,因爲它在第一次運行應用程序時起作用。
編輯補充說,它似乎我只有在我的設備上,而不是在模擬器上的這個問題。
謝謝。沒有崩潰日誌,因爲應用程序不會崩潰,只有NSURLConnection失敗。本地化的錯誤描述只是「請求超時」或類似的東西。我會按照您建議的方式創建我的網址方案,看看它是否有所作爲。 – Darren 2012-07-11 17:39:08
可能它不會有所作爲,但它會使用更少的內存。嘗試GCD,如果您需要代碼和樣本,請再次填寫。 – ilhnctn 2012-07-11 22:10:15