2010-07-25 3 views
7

그래서 데이터 저장, 검색 및 조작을위한 기본 앱이 있습니다. 기본적인 CRUD 작업. 내가 저장하거나이 데이터를 업데이트하고있어 내 코드의 다양한 장소에서, 나는 기본적으로이 있습니다iPhone에서의 Core Data 저장 오류를 올바르게 처리하는 방법은 무엇입니까?

NSError *error; 
if (![self.managedObjectContext save:&error]) { 
    // TODO: Handle this error 
    NSLog(@"Error while saving data %@, %@", error, [error userInfo]); 
} 

어떤 사물의 이러한 종류가 올 때 대부분의 사람들이, 사용자 경험 현명합니까?

마음에 오는 유일한 것은 무언가가 잘못되었다는 막연한 메시지와 함께 끔찍한 UIAlertView을 팝업하는 것입니다. 이러한 것들을 복구하는 방법을 잘 모르겠습니다.

내 모델에 검증이 거의 필요 없다고 가정하면, 발생할 수있는 유일한 오류는 끔찍한 잘못이거나 프로그래밍 문제 일 수 있습니다.

사용자 경험에 대한 좋은 아이디어가 있습니까?

+0

사용자가 그것에 대해 어떤 조치를 취할 수 있습니까? 아니면 완전히 사용자의 통제를 벗어 났습니까? ** 아무것도 ** 그들이 컴퓨터를 끄지 못하게 할 수 있습니까? –

+0

예, 많은 일을 할 수없는 상황이라고 가정합시다. [NSManagedObjectContext save :] 호출에 실패했습니다. – davetron5000

답변

5

Jakob Nielsen은 체크 아웃하고 싶은 few concise guidelines입니다. 그가 제안하는 모든 것 중에서, 나는 그것이 사용자의 잘못이 아니라는 오류 메시지를 통해 강력히 제안 할 것을 권합니다. 사용자 테스팅에 대한 내 경험으로 볼 때 대부분의 사용자는 오류가 발생했을 때 문제가 있다고 생각하며 좌절감을 느끼게됩니다.

아마 같은 : 그것은 당신의 잘못이 아니에요 걱정하지 마세요 : 저장에 문제가 발생했습니다

! 앱을 다시 시작하면 다시 시도 할 수 있습니다. 그러나 [개발자 연락처]에게 연락하여 오류가 [간결하고 기억하기 쉬운 오류 코드]라고 말하십시오.

0

이와 같은 경우에 가장 좋은 방법은 사용자에게 경고를 보내고 앱을 종료하는 것입니다.

+0

문구에 대한 도움말? 나는 이것들을 넣었고, 나는 많은 절름발이로 끝났다. "당신의 위젯을 저장하는 중 오류가 발생했습니다. 응용 프로그램을 다시 시작하십시오." 나는 그 물건이 싫지만, 그 밖에 무엇을해야할지 모르겠다. – davetron5000

0

짧은 대답은 이 아닙니다. 생산에 저장 오류가 발생했습니다. 일반적으로 나는이 주장을하고 그들에게 앱을 충돌 시키게한다. 이것은 내가 개발하는 동안 그들을 잡을 수 있도록하는 것입니다.

응용 프로그램이 잘 작성된 경우 사용자가 응용 프로그램을 실행할 때 이러한 문제가 발생하지 않아야합니다.

텍스트는 응용 프로그램에 따라 다르며 일반적 규칙이 없습니다.

+0

나는 감정에 동의하는 동안, 당신이 어느 정도 놓친 가장자리 사례를 다루거나, 어떤 이유로 처리되었지만, 어쨌든 일어난 일들을 처리하기 위해 이들을 어떤 방식으로 다루어서는 안됩니까? (예 : 장치 오작동으로 인해 비트가 뒤집 으면서) – RonLugge

+0

유효성 검사 규칙이나 고유 한 제약 조건을 추가하기 시작하면 저장 오류가 발생합니다. – malhal

+0

사용자 인터페이스에서 올바르게 처리하지 못하거나 정책을 병합 한 경우에만 –

관련 문제