Я довольно новичок в Core Data, и у меня возникла проблема, которую я не понимаю. Я не знаю, что происходит.
Я сохраняю в моем Persistent Store 7 объектов объекта «Weight», который читается из файла JSON с этим кодом:
for (NSDictionary *values in aWeightValues)
{
weightValues = [NSEntityDescription insertNewObjectForEntityForName:@"Weight"
inManagedObjectContext:moc];
[weightValues setValue:[typeWeight objectForKey:@"unit"] forKey:@"unit"];
[weightValues setValue:[values objectForKey:@"timestamp"] forKey:@"date"];
[weightValues setValue:[values objectForKey:@"value"] forKey:@"amount"];
if (![moc save:&error])
{
NSLog(@"Problem saving: %@", [error localizedDescription]);
}
}
Цикл for состоит из 7 циклов, что означает, что он сохраняется правильно (если говорить о количестве объектов).
Но затем, когда я пытаюсь получить данные из постоянного хранилища следующим образом:
-(NSMutableArray *) extractWeightEntities
{
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication]delegate];
NSError *error;
NSManagedObjectContext *moc = [appDelegate managedObjectContext];
NSEntityDescription *entityWeight = [NSEntityDescription entityForName:@"Weight" inManagedObjectContext:moc];
NSFetchRequest *request = [[[NSFetchRequest alloc]init]autorelease];
[request setEntity:entityWeight];
entityWeight = nil;
fetchResult = [[moc executeFetchRequest:request error:&error]mutableCopy];
return (fetchResult);
}
и попытаться показать один атрибут каждого полученного объекта, я получаю 1044 строки в моем TableView !! когда я должен был только 7.
Что я делаю не так? Это проблема при сохранении или при получении?
Надеюсь, вы поможете решить эту проблему. Большое спасибо заранее !!