groups

Link to this snippet:


Download to Code Collector

language: Objective-C
licence: BSD

M3SimpleCoreData.m

options: send to code collectorview all martin pilkington's snippets
//
//  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