Skip to content
 
 

Repository files navigation

CoreDataEnvir (2011-05-25)

A CoreData Envirement wrapper, use CoreData in convient way. You can use it in concurrency,run seperate CoreDataEnvir instance on one thread.

##First step: //Register your data base file name [CoreDataEnvir registDatabaseFileName:@"db.sqlite"]; //Register your model file name(no extension) [CoreDataEnvir registModelFileName:@"SampleModel"];

##On main thread:

#Insert item: Team *team = [Team insertItem]; or [Team insertItemWith:^(Team *item) { item.name = [NSString stringWithFormat:@"Nicholas"]; }];

[team save];//Save to data base on main thread.
or
[team remove];//Remove from data on main thread.

#Fetch one item: Team *team = (Team *)[Team lastItemWith:[NSPredicate predicateWithFormat:@"name==nicholas"]];

#Fetch all items: NSArray *allItems = [Team items];

##If you want to run on other threads, follow this:

This method ([CoreDataEnvir instance]) will automatically creating new instance for non-main thread and uniq instance for main thread.

dispatch_async(q2, ^{
	CoreDataEnvir *db = [CoreDataEnvir instance];
	for (int i = 0; i < 500; i++) {
		Team *team = (Team *)[Team lastItemWith:db predicate:[NSPredicate predicateWithFormat:@"name==9"]];
		if (team) {
			[team removeFrom:db];//Remove from db.
		}else {
			[Team insertItemWith:db fillData:^(Team *item) {
				item.name = [NSString stringWithFormat:@"9"];
			}];
			
		}
		[team saveTo:db];//Save db.
	}
});

About

A CoreData Envirement wrapper, use CoreData in convient way. It has been used in my work.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors