例外を処理するメソッドを追加しようとしましたが、AlertViewをポップアップする代わりにプログラムがクラッシュします。iPhoneでのHTTP例外処理についての質問
-(void)connect:(NSString *)strURL
{
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:strURL]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection)
{
// receivedData is declared as a method instance elsewhere
receivedData = [[NSMutableData data] retain];
}
else
{
// inform the user that the download could not be made
}
}
2)I追加方法データを受信し、文字列にCONVERする:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
// append the new data to the receivedData
// receivedData is declared as a method instance elsewhere
[receivedData appendData:data];
ReturnStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
}
3)私は例外ハンドルメソッドを追加:
1)Iは、接続を設定しました
-(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error {
UIAlertView *errorAlert = [[UIAlertView alloc]
initWithTitle: [error localizedDescription]
message: [error localizedFailureReason]
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[errorAlert show];
}
strURLを間違ったURLに変更すると、プログラムがクラッシュします。 AlertViewがポップアップしない理由は何ですか?
しようとしたことがありますか? あなたの 'didFailWithError'が呼び出されますか? エラーは何ですか? –
いいえ、メソッドdidFailWithErrorが呼び出されませんでした。私は間違ったURLを使用して接続するので、なぜ呼び出されなかったのかわかりません。 –