1. 程式人生 > >MagicalRecord 增查改刪 基本用法

MagicalRecord 增查改刪 基本用法

#pragma mark  刪除資料
- (void)deleteData
{
    // delete資料庫中所有人
    
     [Person MR_truncateAll];
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
    
    // 根據條件delete特定的某個人
    NSArray *personsdelete = [Person MR_findByAttribute:@"name" withValue:@"kun" andOrderBy:nil ascending:YES];
    NSLog(@"%lu",(unsigned long)[personsdelete count]);
    
    
    // NSPredicate
    NSPredicate *peopleFilter = [NSPredicate predicateWithFormat:@"name CONTAINS %@",@"gao"];
    NSArray *people = [Person MR_findAllWithPredicate:peopleFilter];
    for (Person *person in people) {
        
        [person MR_deleteEntity];
        
    }
    
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
}
#pragma mark  查詢資料
- (void)allData
{
    NSArray *persons = [Person MR_findAll];
    
    NSLog(@"%lu",(unsigned long)[persons count]);
    
    for (Person *persontemp in persons) {
        
        NSLog(@"name:%@----age:%@",persontemp.name,persontemp.age);
    }
    
    //查詢所有的Person並按照 name排序。
    NSArray *personsSorted = [Person MR_findAllSortedBy:@"name" ascending:YES];
    
    //查詢所有age屬性為3的Person記錄。
    NSArray *personsAgeEuqals3 = [Person MR_findByAttribute:@"age" withValue:[NSNumber numberWithInt:3]];
    
    //查詢資料庫中的第一條記錄
    Person *person = [Person MR_findFirst];

}

#pragma mark  改
- (void)alert
{
    NSArray *wellperson = [Person MR_findByAttribute:@"name" withValue:@"gao" andOrderBy:@"age" ascending:YES];
    for (Person*persontemp in wellperson) {
        persontemp.name = @"kun";
    }
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
}
#pragma mark  增加資料
- (void)addData
{
    for (int i = 0; i < 10; i ++) {
        Person *myPerson = [Person MR_createEntity];
        myPerson.name = [NSString stringWithFormat:@"gao%d",i];
        myPerson.age = [NSNumber numberWithInteger:i];
        [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
    }
}

在AppDelegate加上這一句

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    [MagicalRecord setupCoreDataStackWithStoreNamed:@"data.sqlite"];
    // Override point for customization after application launch.
    return YES;
}