首页 > 代码库 > ios 数据持久化之magical record(基于coredata)

ios 数据持久化之magical record(基于coredata)

一个偶然的机会看到了magical record,就试了下,发现挺好用,

Magic Record是Saul Mora写的一个开源的类库,目的是使得Core Data使用起来更加的便捷容易。这个库的开发灵感来自于Ruby on Rails(Web 应用程序框架)中的active record模式


具体安装步骤:

http://blog.csdn.net/kuizhang1/article/details/21200367

具体使用:

    /*添加记录*/

    Person*person = [PersonMR_createEntity];

    person.firstname =@"Frank";

    person.lastname =@"Zhang";

    person.age =@26;

    [[NSManagedObjectContextMR_defaultContext]MR_saveToPersistentStoreAndWait];

//

//    /*查询*/

//    NSArray*persons = [Person MR_findAll];

//    NSLog(@"%d",[persons count]);

//    for (Person*persontemp in persons) {

//        NSLog(@"firstname:%@----lasename:%@----age:%@",persontemp.firstname,persontemp.lastname,persontemp.age);

//    }

//    //查找数据库中的所有Person

//    NSArray *persons = [Person MR_findAll];

//    

//    //查找所有的Person并按照first name排序。

//    NSArray *personsSorted = [Person MR_findAllSortedBy:@"firstname" ascending:YES];

//    

//    //查找所有age属性为25Person记录。

//    NSArray *personsAgeEuqals25   = [Person MR_findByAttribute:@"age" withValue:[NSNumber numberWithInt:25]];

//    

//    //查找数据库中的第一条记录

//    Person *person = [Person MR_findFirst];

    /**/

//    NSArray*wellperson = [Person MR_findByAttribute:@"lastname" withValue:@"Zhang" andOrderBy:@"age" ascending:YES];

//    for (Person*persontemp in wellperson) {

//       persontemp.lastname = @"kun";

//    }

//    [[NSManagedObjectContext MR_defaultContext]MR_saveToPersistentStoreAndWait];

//    /*查询*/

//    NSArray*persons = [Person MR_findAll];

//    NSLog(@"%d",[persons count]);

//    for (Person*persontemp in persons) {

//        NSLog(@"firstname:%@----lasename:%@----age:%@",persontemp.firstname,persontemp.lastname,persontemp.age);

//    }

    /*删除*/

    //  delete数据库中所有人

//    [Person MR_truncateAll];

//    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];


    // 根据条件delete特定的某个人

    NSArray *personsdelete = [PersonMR_findByAttribute:@"lastname"withValue:@"Zhang"andOrderBy:@"age"ascending:YES];

    NSLog(@"%d",[personsdeletecount]);

    for (Person *personin personsdelete) {

        [person MR_deleteEntity];

    }

    [[NSManagedObjectContextMR_defaultContext]MR_saveToPersistentStoreAndWait];


Magical Record的出现在一定程度上缓解了这个问题,降低了Core Data的使用门槛,相对于直接使用coredata更为简洁高效而且使用过程非常简单

magical record第三方下载:https://github.com/magicalpanda/MagicalRecord


ios 数据持久化之magical record(基于coredata)