2015-01-27 3 views
0

같은 블록에 의해 생성 된 분해하기 결과 :은 구문 분석 NSError는 I에 의해 생성되는 구문 분석 오류에서 아이폰 OS 오류를 골라하려고 findObjectsInBackgroundWithBlock

Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo=0x7f93c5930960 {NSUnderlyingError=0x7f93c5e7d430 "The Internet connection appears to be offline.", NSErrorFailingURLStringKey= https://api.parse.com/2/find , NSErrorFailingURLKey= https://api.parse.com/2/find , _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSLocalizedDescription=The Internet connection appears to be offline.}

구문 분석 API가 IOS 연결 NSError를 구문 분석 된 NSError에 추가한다고 가정합니다. 원본 NSError를 검색하려면 어떻게해야합니까? 더 구체적으로 말하자면, 마지막 NSLocalizedDescription의 NSString을 가져 오려고합니다. 즉, "인터넷 연결이 오프라인으로 나타납니다."

도움 주셔서 감사합니다.

답변

0

원래 오류는 originalError 키를 사용하여 Parse에 의해 생성 된 오류 userInfo 개체 내에 포함됩니다. 여기에서 localizedDescription 값을 얻을 수 있습니다.

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 
    if (error) { 
    NSError *originalError = error.userInfo[@"originalError"]; 
    NSString *description = originalError.localizedDescription; 
    ... 
} 
}]; 
+0

안녕하세요, 귀하의 도움에 감사드립니다. 아직 작동하지 않습니다. error.userInfo [@ "originalError"]는 nil을 반환합니다. 인쇄 할 때 : NSError * originalError = error.userInfo [@ "originalError"]; NSLog (@ "Original Error : % @", originalError); 출력 : 원본 오류 : (null) p.s. 나는이 줄과 함께 이것을 사용하고있다. [user saveInBackgroundWithBlock :^(BOOL 성공, NSError * 오류) { 나는 그것이 효과가 없다고 생각한다. – user2671766

+0

@ user2671766 오류 'userInfo'에'originalError' 키가 있는지 여부에 대한 오류 유형에 따라 달라집니다. 예를 들어 존재하지 않는 클래스를 저장하려고 시도하면 (클라이언트 클래스 생성이 꺼져 있음) 'originalError'가없는 Parse 119 오류가 발생합니다. 연결하지 않고 저장하려고하면 'originalError' 객체와 함께 Parse 오류 100을 가져야합니다. 사용 가능한 정보를 바탕으로 실제로 테스트하고 반응해야합니다. – rickerbh

+0

나는 100 오류가 발생하는 것 같습니다 : 여기에 전체 오류입니다. 인쇄 할 때 : NSLog (@ "변경 내용 저장 안 됨 Error.userInfo : % @", error.userInfo); 알릴 : 변경 사항이 저장되지 않았습니다. Error.userInfo : { code = 100; error = ... 위 오류입니다. 'originalError'없음 나는 또한 당신의 제안에 단지 "오류"를 사용하려고 시도했다. 그것은 "내부 오류"를 인쇄합니다. 즉, 위에 인쇄 된 것이지만 nserror에 할당하려고 시도 할 때 userinfo가 충돌 할 때 충돌합니다. – user2671766

관련 문제