iOSCoreData数据库:

原创 2015年11月18日 18:02:05
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;//操作管理器(增删改查)
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;//被管理的数据模型
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;//持久化协助管理器

  /**
     * 表示要向Person这个表里面插入一条数据
     */
    /*
     参数1:插入的表名
     参数2:托管上下文对象(coreData操作管理器)

     */
    //数据  ->(映射) 对象
    Person *per = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.managedObjectContext];
    //设置返回实体对象的属性
    per.name = @"老王";
    per.age = [NSNumber numberWithInt:11];
    per.headImage = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"1" ofType:@"png"]];

    //保存记录
    [self.managedObjectContext save:nil];

    NSLog(@"%@",NSHomeDirectory());


    //查找数据
    NSFetchRequest *request = [[NSFetchRequest alloc] init];

    //获得表结构实体(把一张表进行实体化)
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.managedObjectContext];

    //设置查询的表结构实体(设置查询的是哪张表)
    request.entity = entity;



    /*
    //设置条件查询(谓语)
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name = %@",@"老李"];

    request.predicate = predicate;
     */

    //设置升降序排列
    //YES代表升序,NO代表降序
    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];

    request.sortDescriptors = @[sort];

    //通过操作管理器发起查询请求
    //resultArr储存搜寻的结果
    NSArray *resultArr = [self.managedObjectContext executeFetchRequest:request error:nil];

    for (Person *per in resultArr) {

        NSLog(@"per.name = %@ per.age = %@",per.name,per.age);

    }


    /*
    for (Person *per in resultArr) {

        NSLog(@"per.name = %@ per.age = %@",per.name,per.age);
        //修改数据(更新)
        per.name = @"老李";

        //保存记录
        [self.managedObjectContext save:nil];

        //删除
        if ([per.age integerValue] == 90) {

            [self.managedObjectContext deleteObject:per];

            //保存记录
            [self.managedObjectContext save:nil];

        }

    }
     */

.M中:
    NSManagedObjectContext *_context;
引入头文件#import "AppDelegate.h"
- (void)loadDataFromCoreData
{
    //coreData查询

    AppDelegate *delegate = [UIApplication sharedApplication].delegate;

    _context = delegate.managedObjectContext;

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

    //从哪个实体中查询数据
    NSEntityDescription *descrip = [NSEntityDescription entityForName:@"CDGoodsModel" inManagedObjectContext:_context];
    //查询规则,where xx = xx
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"cid = %d",_cid];
    [request setEntity:descrip];
    [request setPredicate:predicate];

    NSArray *array = [_context executeFetchRequest:request error:nil];
    [_dataArray addObjectsFromArray:array];
    [_myTable reloadData];
}

数据库删除:
AppDelegate *delegate = [UIApplication sharedApplication].delegate;
        _context = delegate.managedObjectContext;

        for (NSManagedObject *obj in _dataArray)
        {
            [_context deleteObject:obj];
        }
        [_context save:nil];

        [_dataArray removeAllObjects];


数据库插入:CDGoodsModel:表名
   CDGoodsModel *cdModel = [NSEntityDescription insertNewObjectForEntityForName:@"CDGoodsModel" inManagedObjectContext:_context];
            cdModel.imgURL = [NSString stringWithFormat:@"%@",model.imgURL];
            cdModel.price = [NSString stringWithFormat:@"%@",model.price];
            cdModel.discount = [NSString stringWithFormat:@"%@",model.discount];
            cdModel.cid = [NSString stringWithFormat:@"%d",_cid];

            NSError *error = nil;
            if(![_context save:&error])
            {
                NSLog(@"coreData保存数据失败,error=%@",error);
            }else
            {
                [_dataArray addObject:cdModel];
            }

        }

        //刷表
        [_myTable reloadData];

URL 的赋值不可以放到init里

数据库连接

  • 2017年12月11日 15:01
  • 3.88MB
  • 下载

工程预算类软件源代码包括数据库

  • 2017年12月07日 12:12
  • 45.96MB
  • 下载

ORACLE数据库插入记录

注册密码 /jsp/teacher_zhuce-js2.jsp" action="
  • djl310
  • djl310
  • 2011年08月29日 17:06
  • 382

mycat连接数据库做读写分离的文档

  • 2017年12月04日 22:05
  • 62.02MB
  • 下载

并行数据库快速入门知识

  • 2017年12月03日 12:00
  • 1.55MB
  • 下载

SQLite数据库约束详解

一、约束 Constraints 在SQLite数据库中存储数据的时候,有一些数据有明显的约束条件。 比如一所学校关于教师的数据表,其中的字段列可能有如下约束: 年龄 - 至少大于20岁。...

达梦数据库jar包(包含达梦6,7)

  • 2017年11月29日 10:14
  • 904KB
  • 下载

Oracle数据库关闭和启动命令

前言 先以sysdba登录到sqlplus然后运行以下命令。 windows平台下,oracle 中组成实例的后台进程是由 oracle 服务派生出来的线程实现的,所以任务管理器看不见 DBWn 之类...

QQ定位数据库最新版

  • 2017年11月28日 16:19
  • 8.86MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOSCoreData数据库:
举报原因:
原因补充:

(最多只允许输入30个字)