Я использую этот код (из ошибка основных данных iphone при сохранении ), чтобы напечатать более подробное описание объекта 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 не сказал мне ничего полезного.