다른 쌍둥이가 필요합니다.'code'속성이 'NSError *'유형의 개체에서 찾을 수 없습니다. 사용자 지정 NSError
이상하게도 사용자 정의 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를 만드는 나쁜 액세스 오류 ...
그래서이 실패
NSString *message = [NSString stringWithFormat:@"Encountered an error: %@ - ", error.code];
그러나 이상하게 충분히이 성공 :
NSString *message = [NSString stringWithFormat:@"Encountered an error: %@ - ", error];
시간을 줘서 고마워요!
일반적으로 '% ld'을 사용하는 것이 더 낫습니다 (그리고 컴파일러는 확실히 동의합니다). arg를 길게 던지십시오. – CodaFi
@ Dan F ... 고마워요, 쉬운 사람이었습니다. Obj C의 오류 메시지를 더 명확하게 표시 할 수없는 이유는 무엇입니까? BAD_Access 오류로 위장한 유형 불일치 오류로 시간이 허비되었습니다. arrrgn .. 다시 한번 감사드립니다! – zukanta