Печать userInfo ошибки NSError из Core Data выдает EXC_BAD_ALLOC

Я использую этот код (из iphone Core Data Unresolved error при сохранении ), чтобы распечатать более подробное описание объекта NSError:

- (NSString*)debugDescription
{
  NSMutableArray* errorLines = [NSMutableArray array];

  [errorLines addObject:[NSString stringWithFormat:@"Failed to save to data store: %@", [self localizedDescription]]];

  NSArray* detailedErrors = [[self userInfo] objectForKey:NSDetailedErrorsKey];
  if (detailedErrors != nil && [detailedErrors count] > 0)
  {
    for (NSError* detailedError in detailedErrors)
    {
      // The following line crashes the app
      [errorLines addObject:[NSString stringWithFormat:@"  DetailedError: %@", [detailedError userInfo]]];
    }
  }
  else
  {
    [errorLines addObject:[NSString stringWithFormat:@"  %@", [self userInfo]]];
  }

  return [errorLines description];
}

Проблема заключается в том, что всякий раз, когда я пытаюсь получить доступ к объекту userInfo вложенного NSError, приложение вылетает с EXC_BAD_ALLOC.

Данная ошибка генерируется, когда я создаю новый NSManagedObject и заполняю его данными. Все свойства, которые я назначаю объекту, сохраняют все, что им присвоено, но похоже, что что-то сохраняется неправильно.

Как я могу это отследить? NSZombieEnabled не сказал мне ничего полезного.

1
задан Community 23 May 2017 в 11:48
поделиться