Ainsi, j'ai une application de base pour stocker, rechercher et manipuler des données. Opérations de base du crud. Dans divers endroits de mon code où je stocke ou mettez à jour ces données, j'ai essentiellement ceci:
NSError *error; if (![self.managedObjectContext save:&error]) { // TODO: Handle this error NSLog(@"Error while saving data %@, %@", error, [error userInfo]); }
3 Réponses :
Dans un cas comme celui-ci, je pense que la meilleure chose à faire serait de présenter une alerte à l'utilisateur et de quitter l'application. p>
Des conseils sur le libellé? Je les ai mis dans, et j'ai fini avec beaucoup de boiteux ", a été une erreur en train d'enregistrer votre widget; essayez de redémarrer l'application". Je déteste ce genre de choses, mais je ne suis pas sûr de quoi faire d'autre ?!
Réponse courte est que j'ai jamais em> avait une erreur de sauvegarde dans la production. Normalement, je fais ces affirmations et je les ai plantés l'application. C'est pour s'assurer que je les attrape pendant le développement. P>
Si votre application est bien écrite, vous ne devez pas avoir l'un d'entre eux survoir lorsqu'un utilisateur exécute l'application. P>
Quant au texte, cela dépend de votre application et il n'y a pas de règle générale pour eux. P>
Pendant que je suis d'accord avec le sentiment, je ne devrais-tu pas gérer ces personnes d'une certaine manière, simplement pour gérer les cas de bord que vous avez manqué ou ceux qui sont manipulés, mais pour une raison quelconque se produise de toute façon? (E. g. Dysfonctionnement du périphérique a provoqué un peu de retourner)
Une fois que vous avez commencé à ajouter des règles de validation ou des contraintes uniques, vous obtiendrez des erreurs d'enregistrement.
Seulement si vous ne traitez pas les personnes correctement dans votre interface utilisateur et / ou fusionner des stratégies.
Jakob Nielsen a un Peu de directives concises Vous voudrez peut-être consulter; Sur tout ce qu'il propose, celui que je vous suggère fortement d'indiquer dans un message d'erreur que ce n'est pas la faute de l'utilisateur. De ma propre expérience dans les tests des utilisateurs, la plupart des utilisateurs croient qu'ils ont fait quelque chose de mal lorsqu'une erreur apparaît, et cela conduit à la frustration. P>
Peut-être quelque chose comme: p>
Il y avait un problème d'économie: ne vous inquiétez pas que ce n'est pas votre faute! Si vous redémarrez l'application, vous pouvez réessayer. Mais s'il vous plaît contacter [Contact Developer] et dites-lui que l'erreur était [Code d'erreur courte, mémorable] p> blockQuote>
L'utilisateur peut-il faire quelque chose à ce sujet? Ou est-ce entièrement hors du contrôle de l'utilisateur? Y a-t-il rien b> ils peuvent faire de l'ordinateur hors tension?
Oui, supposons que c'est une situation où ils ne peuvent pas faire beaucoup; Comme un appel à [NsmanieDObjectContext Enregistrer:] Échec.