IOS CoceData

来源:互联网 发布:excel表导入sql数据库 编辑:程序博客网 时间:2024/05/19 15:42

ISO CoreData的增删改查

新建一个CoreData测试Project  勾上UserCore Data

查看Appdelegate 会发现多了几个方法和实例变量


新建一个Entiy 名为Person

Person 有2个数据一个是name  一个是age



然后新建一个Person类



点击第3个然后创建刚刚的Person





得到这几个文件





然后就可以进行增删改查操作了

那为了看起来更容易 下面的功能排序为 增 查 改删

首先是要获得 Appdelegate 里面的manageObjectContext 的实例变量

通过以下方法context是你该类的全局变量或者实例变量,这里是全局变量


 AppDelegate *delegate=[UIApplication sharedApplication].delegate;    context=delegate.managedObjectContext;  


首先是增加操作(插入)操作

Person *person=[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:context];        person.name=@"Toy";        person.age=@15; //number类型        [context save:nil];

然后是查找操作

通过

NSFetchRequest *fetchRequest=[[NSFetchRequest alloc]init];    NSEntityDescription *entityDescription=[NSEntityDescription entityForName:@"Person" inManagedObjectContext:context];    [fetchRequest setEntity:entityDescription];    array=[context executeFetchRequest:fetchRequest error:nil];
然后得到数组后便利数组 数组里面存的不是字典是 NSMangeObejct

    laberName.text=[array[indexPath.row ]valueForKey:@"name"];

可以通过for 打印

for(int i=0;i<array.cout;i++)

{

NSLog(@"%@",[arra[i] valueForKey:@"name"]);

//就可以打印name了 age是同理的

}

[array[0] setValue:_nameText.text forKey:@"name"];    [array[0].managedObjectContext save:nil];


删除

[context deleteObject:array[0];        [context save:nil];
这样就删除了 记得要保存

数组里面存的是 NSMangeObject  


NSCoreData 的基本操作就那么简单



0 0
原创粉丝点击