CoreDataの基本使用

2994 ワード

  • CoreDataを追加削除して調べるときによく使われるクラス:
    NSEntityDescription:エンティティオブジェクトの取得NSFetchRequest:リクエストボディNSPredicate:リクエスト条件NSSortDescriptor:ソート
  • まず
  •       , UIApplication         
       @property(nonatomic,strong)AppDelegate *App;
      self.App = [UIApplication sharedApplication].delegate;
    
  • CoreData増加:
  •     1.      (    )
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.        CoreData initWithEntity     
        Person *person = [[Person alloc] initWithEntity:entity insertIntoManagedObjectContext:self.App.managedObjectContext];
        3. person    
        Person.name = @"  ";
        Person.age = 18;
        4.     
        [self.App saveContext];
    
  • CoreData削除:
  •     1.      (    )
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.     
        NSFetchRequest *requset = [[NSFetchRequest alloc] init];
        3.      
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
        4.      entity  ,  predicate  
        requset.entity = entity;
        requset.predicate = predicate;
        5.        
        NSArray *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
        6.    ,  deleteObject:    
        for (Student *stu in array) {
            [self.managedObjectContext deleteObject:stu];
        }
        7.    
        [self.App saveContext];
    
  • CoreData:
  • に変更
        1.      
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.     
        NSFetchRequest *requset = [[NSFetchRequest alloc] init];
        3.      
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
        4.      entity  ,  predicate  
        requset.entity = entity;
        requset.predicate = predicate;
        5.        
        NSArray *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
        6.    ,        
        for (Student *stu in array) {
            stu.name = @"       ";
        }
        7.    
       [self.App saveContext];
    
  • CoreData:調べ
  •     1.      (    )
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.     
        NSFetchRequest *requset = [[NSFetchRequest alloc] init];
        3.      
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
        4.      entity  ,  predicate  
        requset.entity = entity;
        requset.predicate = predicate;
        5.        
        NSArray *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
    
  • まとめ:coreDataを使用してデータベースを操作していることがわかりますが、いくつかのクラスが使用されています.手順はあまり悪くありません.データを増加するときを除いて、他の基本は同じです.以上のよく使われているクラスを理解し、柔軟に使用すれば、データに対して所望の操作を行うことができます.