もう1つ目が必要です。
奇妙なことに、カスタム NSError のプロパティにアクセスできないようです。EXC_BAD_ACCESS エラーが発生し続けます。これが私のコードです:
if (response.isUnauthorized)
{
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:response.bodyAsString forKey:@"Error Message"];
NSError *unAuthorizedError = [NSError errorWithDomain:@"MyApp" code: [response statusCode] userInfo:userInfo];
[delegate dataControllerLoadFailed:unAuthorizedError];
[ErrorHandler logError:unAuthorizedError fromClassName:NSStringFromClass([self class]) fromSelectorName:NSStringFromSelector(_cmd) ];
}
そしてこれは呼び出します:
-(void)dataControllerLoadFailed:(NSError *)error
{
NSString *message = [NSString stringWithFormat:@"Encountered an error: %@ - ", error.code];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyApp"
message:message
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[activityIndicator stopAnimating];
}
エラーオブジェクトのerror.codeまたは他のメンバーを使用して、dataControllerLoadFailedでメッセージNSStringを作成すると、Bad Accessエラーが発生します...
したがって、これは失敗します:
NSString *message = [NSString stringWithFormat:@"Encountered an error: %@ - ", error.code];
しかし、奇妙なことに、これは成功します:
NSString *message = [NSString stringWithFormat:@"Encountered an error: %@ - ", error];
この時間を割いてくれた人に感謝します!