CoreData简单使用

Posted fantasy3588

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CoreData简单使用相关的知识,希望对你有一定的参考价值。

NSManagedObject *managedObject = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.managedObjectContext];

    

    NSString *name = @"JackChen";

    

    // 通过KVC赋值

    [managedObject setValue:name forKey:@"name"];

    [managedObject setValue:@13 forKey:@"age"];

    

    // 验证

    NSError *error = NULL;

    [managedObject validateValue:&name forKey:@"name" error:&error];

    if (error) {

        NSLog(@"%@",[error localizedDescription]);

    }

    

    // 添加数据

    [self.managedObjectContext insertObject:managedObject];

    

    Card *card = [NSEntityDescription insertNewObjectForEntityForName:NSStringFromClass([Card class]) inManagedObjectContext:self.managedObjectContext];

    card.cardID = @"1345678";

    

    [self.managedObjectContext insertObject:card];

    

    // 保存

    [self saveContext];

    

    

    // 查询

    NSFetchRequest *request = [[NSFetchRequest alloc] init];

    

    // 去哪个对象查询

    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.managedObjectContext];

    [request setEntity:entity];

    

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like ‘Jack*‘"];

    [request setPredicate:predicate];

    

    NSArray *arr = [self.managedObjectContext executeFetchRequest:request error:NULL];

    

    for (NSManagedObject *obj in arr) {

        NSLog(@"%@ --- %@",[obj valueForKey:@"name"], [obj valueForKey:@"age"]);

    }

以上是关于CoreData简单使用的主要内容,如果未能解决你的问题,请参考以下文章

CoreData(iOS):是不是需要创建数据库才能使用CoreData?coredata可以对简单的平面文件进行操作吗? [关闭]

使用简单的 init 在测试中创建 CoreData 对象

CoreData的简单使用数据库的创建

CoreData的简单使用数据库的创建

CoreData的简单使用数据的增删改查,轻量级的版本迁移

CoreData 简单地使用