Cheers,
У меня проблема с основными данными, я думаю, я просто смотрю в неправильном направлении снова.
Мой managedObjectContext вернет пустой NSSet, если я вызовуregisteredObjects
на это.Однако если я выполню извлечение заранее, он вернет те же объекты, что и извлечение, сделанное всего минуту назад.
Многопоточность не происходит.
Вот что я делаю:
[self setupContext]; // This will set up managedObjectContext, which is a property of this class
// Fetching...
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *foo = [NSEntityDescription entityForName:@"Foo" inManagedObjectContext:managedObjectContext];
[request setEntity:foo];
NSError *fetchError = nil;
NSArray *fetchResults = [managedObjectContext executeFetchRequest:request error:&ftchError];
NSLog(@"Fetch returned %i objects.", [fetchResults count]);
[request release];
// Done fetching...
NSArray *allObjects = [[managedObjectContext registeredObjects] allObjects];
NSLog(@"Context contains %i objects...", [allObjects count]);
В магазине 30 предметов.Если я выполню код выше, оба NSLogs сообщат о пяти объектах.Если я уберу часть выборки между двумя комментариями, она сообщит о нулевых объектах для всего контекста.
Обратите внимание, что я ни в коем случае не фиксирую и не изменяю содержимое контекстов.
Должен ли яНужно сначала заставить контекст обновляться?Я никогда не делал этого раньше, и я не помню, чтобы registeredObjects
терпел неудачу со мной, как это в других случаях, в первую очередь.
Любые предложения приветствуются!Toastor