Замена aborts () для нерешенных ошибок в iPhone / CoreData - PullRequest
5 голосов
/ 20 января 2010

У меня довольно много мест в приложении для iPhone с такой строкой:

if (![context save:&error]) {
  /*
  Replace this implementation with code to handle the error appropriately.

  abort() causes the application to generate a crash log and terminate. 
  You should not use this function in a shipping application, although 
  it may be useful during development. If it is not possible to recover 
  from the error, display an alert panel that instructs the user to quit 
  the application by pressing the Home button.
  */

  NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
  abort();
}

Я в недоумении от того, чем фактически заменить abort () в производственном приложении.Я не думаю, что есть какой-либо простой способ позволить устройствам пользователей отправлять вам ошибки обратно.Какая стандартная практика здесь?

1 Ответ

5 голосов
/ 20 января 2010

То, что я сделал, зависит от того, что происходит в приложении.Если сохранение может быть отменено без влияния на приложение, вы можете просто сделать это.Это было бы довольно редко.Скорее всего, вы захотите сообщить пользователю, что его сохранение не удалось.В зависимости от причины сбоя, вы можете предложить повторить попытку или объяснить, почему он был недействительным.

В основном это зависит от вашего приложения и того, как вы лучше всего обслужите пользователя.

...