//
// M3SimpleCoreData.m
// Code Collector
//
// Created by Martin Pilkington on 10/10/2008.
// Copyright 2008 M Cubed Software. All rights reserved.
//
#import "M3SimpleCoreData.h"
@implementation M3SimpleCoreData
@synthesize managedObjectModel;
@synthesize managedObjectContext;
- (NSArray *)objectsInEntityWithName:(NSString *)name predicate:(NSPredicate *)pred sortedWithDescriptors:(NSArray *)descriptors {
//Check the required variables are set
if (!managedObjectModel || !managedObjectContext || !name) {
return nil;
}
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [[managedObjectModel entitiesByName] objectForKey:name];
//If our entity doesn't exist return nil
if (!entity) {
return nil;
}
[request setEntity:entity];
[request setPredicate:pred];
[request setSortDescriptors:descriptors];
NSError *error = nil;
NSArray *results = [managedObjectContext executeFetchRequest:request error:&error];
[request release];
//If there was an error then return nothing
if (error) {
return nil;
}
return results;
}
- (NSManagedObject *)newObjectInEntityWithName:(NSString *)name values:(NSDictionary *)values {
//Check the required variables are set
if (!managedObjectModel || !managedObjectContext || !name) {
return nil;
}
NSEntityDescription *entity = [[managedObjectModel entitiesByName] objectForKey:name];
//If our entity doesn't exist return nil
if (!entity) {
return nil;
}
NSManagedObject *object = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:managedObjectContext];
if (!object) {
return nil;
}
for (NSString *key in [values allKeys]) {
[object setValue:[values objectForKey:key] forKey:key];
}
return object;
}
@end