Я использую Core Data в качестве локального хранилища в моем приложении.Я настроил его правильно и сделал подклассы NSManagedObject для каждой сущности.Однако, когда я пытаюсь вставить значения в мое хранилище, он вставляет только последний объект из моего фида JSON.
res = [JSONHandler requestJSONResponse:jsonString];
shows = [res valueForKeyPath:@"Show.Name"];
NSUInteger showIndex = 0;
for(NSString *showName in shows){
showObject = [NSEntityDescription insertNewObjectForEntityForName:@"Show" inManagedObjectContext:managedObjectContext_];
showObject.name = showName;
showObject.iD = [[res valueForKeyPath:@"Show.Id"]objectAtIndex:showIndex];
showObject.desc = [[res valueForKeyPath:@"Show.Description"]objectAtIndex:showIndex];
showObject.activityType = [[res valueForKeyPath:@"Show.ActivityType"]objectAtIndex:showIndex];
showIndex++;
}
Это сохраняет только последний объект из моего фида JSON.Любая идея, почему?
РЕДАКТИРОВАТЬ: Когда я делаю это работает нормально:
res = [JSONHandler requestJSONResponse:jsonString];
shows = [res valueForKeyPath:@"Show.Name"];
NSUInteger index = 0;
for(NSString *showName in shows){
show = [NSEntityDescription insertNewObjectForEntityForName:@"Show" inManagedObjectContext:managedObjectContext_];
[show setValue:showName forKey:@"name"];
[show setValue:[[res valueForKeyPath:@"Show.Id"]objectAtIndex:index] forKey:@"iD"];
[show setValue:[[res valueForKeyPath:@"Show.Description"]objectAtIndex:index] forKey:@"desc"];
[show setValue:[[res valueForKeyPath:@"Show.ActivityType"]objectAtIndex:index] forKey:@"activityType"];
index++;
}
Это в основном то же самое, не так ли?Но я хочу использовать подклассы NSManagedObject вместо того, чтобы делать, как я делал выше.Потому что в приведенном выше фрагменте show вместо NSManagedObject * show вместо того, что должно быть: Show * show.