Cuando falla la operación de guardado, usted (como programador) hizo algo mal.
Escribí algunas aplicaciones de Core-Data bastante complejas y nunca vi un error en la producción.
Asegúrese de que los valores que los usuarios pueden ingresar se pueden guardar sin error.
Esto significa que si tiene una relación no opcional no acepte el botón "Hecho" hasta que el usuario haya seleccionado una entidad para esta relación. O establecer una entidad de relación predeterminada.
Si necesita un NSString en un formato especial, valide esa cadena antes de aceptarla.
Es más conveniente para el usuario también. Si le dice 10 minutes ago you did something wrong, thats why I will delete all your changes
pensará WTF?
. Si le dice The value you try to enter is not in the correct format. Please use xxxxx
pensará Ok, let's change it.
Y ahora, después de que se aseguró de que un sin salvación falla se puede poner [context rollback]
en ella, porque nunca se debe decir nunca.
Pero antes de hacer esto, debe preguntar al usuario si desea enviarle el registro de errores. Porque un ahorro nunca debería fallar.