2010-07-25 13 views
7

Quindi, ho un'app di base per archiviare, cercare e manipolare i dati. Operazioni di base CRUD. In vari luoghi del mio codice dove sto stoccaggio o l'aggiornamento di questi dati, io fondamentalmente ho questo:Come gestire correttamente gli errori di salvataggio dei dati di base e l'esperienza utente su iPhone?

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

cosa maggior parte delle persone, user-experience-saggio, quando questo genere di cose venire?

L'unica cosa che viene in mente è di far apparire qualche orribile UIAlertView con un vago messaggio che qualcosa è andato storto; non proprio sicuro di come recuperare queste cose.

Per ragioni, si supponga che il mio modello abbia convalide piccole o nessuna, quindi gli unici errori che potrebbero verificarsi potrebbero essere qualcosa di terribilmente sbagliato o un problema di programmazione.

Qualche buona idea sull'esperienza utente?

+0

L'utente può fare qualcosa al riguardo? O è completamente fuori dal controllo dell'utente? C'è ** niente ** possono fare a meno di spegnere il computer? –

+0

Sì, supponiamo che sia una situazione in cui non possono fare molto; come una chiamata a [NSManagedObjectContext save:] failed. – davetron5000

risposta

5

Jakob Nielsen ha un few concise guidelines che si potrebbe voler controllare; fuori da tutto ciò che propone, quello che ti consiglio caldamente di indicare in un messaggio di errore che non è colpa dell'utente. Dalla mia esperienza personale nel test degli utenti, molti utenti credono di aver fatto qualcosa di sbagliato quando si verifica un errore, e questo porta alla frustrazione.

Forse qualcosa di simile:

C'è stato un problema durante il salvataggio: non ti preoccupare non è colpa tua! Se riavvii l'app, puoi riprovare. Ma si prega di contattare [contatto sviluppatore] e dirgli che l'errore è stato [breve, codice errore memorabile]

0

In un caso come questo, penso che la cosa migliore da fare sarebbe presentare un avviso all'utente e uscire dall'app.

+0

Qualche suggerimento sulla formulazione? Li ho inseriti e ho finito con un sacco di zoppi "È stato un errore salvare il tuo Widget, prova a riavviare l'app". Odio quella roba, ma non sono sicuro di cos'altro fare! – davetron5000

0

Risposta breve è che ho mai se si è verificato un errore di salvataggio in produzione. Di solito faccio questi asserzioni e li faccio arrestare in modo anomalo. Questo per essere sicuro di prenderli durante lo sviluppo.

Se la tua applicazione è ben scritta, non dovresti averne uno di questi quando un utente sta eseguendo l'applicazione.

Per quanto riguarda il testo, dipende dalla vostra applicazione e non esiste una regola generale per loro.

+0

Mentre sono d'accordo con il sentimento, non dovresti gestirli in qualche modo, semplicemente per gestire i casi limite che hai mancato, o quelli che vengono gestiti, ma per qualche motivo accade comunque? (E. g malfunzionamento del dispositivo ha causato un po 'di girare) – RonLugge

+0

una volta che si inizia ad aggiungere regole di convalida o vincoli univoci si otterranno errori di salvataggio. – malhal

+0

Solo se non li gestisci correttamente nell'interfaccia utente e/o nelle politiche di fusione. –

Problemi correlati