Объекты отсутствуют в базовых данных - PullRequest
0 голосов
/ 26 января 2012

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

Я добавляю сущности в Базовые данные и извлекаю иххорошо, и все отлично отображается в моем приложении.Но по какой-то причине, когда я использую NSFetchRequest, чтобы получить список всех сущностей некоторого типа, он всегда возвращает на один объект меньше, чем должно быть.Я знаю, что объект находится где-то, потому что мое приложение может отображать данные из него в другом месте приложения.Кроме того, я вручную проверил файл sqlite и заметил, что в нем также отсутствует один объект.Как это возможно, если мое приложение обращается к данным?

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

NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"MWLocationItem" 
                                          inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:nil];

Кто-нибудь знает, что происходит?на?Пожалуйста, дайте мне знать, есть ли другой код, который вы хотели бы увидеть.

1 Ответ

1 голос
/ 27 января 2012

1. Я думаю, что это возможно, если вы игнорируете ошибки на

[NSManagedObjectContext save:nil]

Попробуйте использовать метод ниже, чтобы проверить, все ли в порядке

[NSManagedObjectContext save:&error]

2. Другая возможная причина может заключаться в том, что вы устанавливаете свойство includesPendingChanges в fetchrequest

request.includesPendingChanges = NO;

Если нет правильного ответа :) Можете ли вы предоставить немного больше строк исходного кода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...