我正在從服務url獲取xml響應,並且我想在網絡連接失敗時顯示錯誤。所以我顯示UIAlertView,但是這個alertView在剩下的過程完成後顯示出來。我希望它立即顯示。當網絡連接失敗時停止下一個進程
在android中,如果網絡連接失敗,它將顯示一個錯誤提醒,「不幸的應用程序名稱已終止」。 iPhone上有這樣的東西嗎?如果沒有,我想顯示alertview並停止其餘的過程。
這是我工作的代碼:
if (responseData!= NULL)
{
response = [[NSString alloc] initWithData:responseData
encoding:NSUTF8StringEncoding ];
NSLog(@"Response Code:%d",[urlResponse statusCode]);
if([urlResponse statusCode ]>=200 && [urlResponse statusCode]<300)
{
NSLog(@"Response:%@",response);
}
}
else
{
NSLog(@"Failed to send request: %@", [error localizedDescription]);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Unfornately stopped.Try Again " message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
parser =[[NSXMLParser alloc]initWithData:responseData];
[parser setDelegate:self];
[parser setShouldProcessNamespaces:NO];
[parser setShouldReportNamespacePrefixes:NO];
[parser setShouldResolveExternalEntities:NO];
[email protected]"1";
[parser parse];
[parser release];
在我的代碼,如果它不能發送請求,然後得到的NSLog打印並執行alertView代碼。與此同時,我想停止其他過程,即初始化解析器並執行其餘的操作。
我該怎麼辦?
但我不想在if block中做。是否有一種方法可以通過使用線程或其他任何方法來停止下一個進程? – Sindhia
你的意思是你想保持它的解析功能?如果是這樣,你可以在else塊的末尾添加'return'語句。 – Atif
是的,我想保留解析器和其他功能,因爲它是。我不希望他們在如果block.Instead我希望alertView被顯示,而不會繼續解析功能。它可以完成回報? – Sindhia