码迷,mamicode.com
首页 > 其他好文 > 详细

Core Data 使用

时间:2015-03-31 18:08:18      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:core data ios数据持久化

简单的介绍一下 ios 数据持久化  Core Data 使用


话不多说,直接上图技术分享


接下来,在工程中 command+N 新建Core Data 文件技术分享


创建成功后,接下编辑Core Data 文件


技术分享


接下来,给实体添加属性技术分享



依照添加的属性来生成相应的Model技术分享


User 实体打上勾技术分享下一步


工程会自动生成 User 的Model

#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>


@interface User : NSManagedObject

@property (nonatomic, retain) NSString * username;
@property (nonatomic, retain) NSNumber * age;

@end


#import "User.h"

@implementation User

//dynamic 动态的生成设置或者访问属性的方法

@dynamic username;
@dynamic age;

@end


接下来简单的实现一下往数据库中添加一个信息,要实现这个功能的前提需要mac 或者笔记本中 安装了 技术分享


#import "ViewController.h"
#import <CoreData/CoreData.h>// 记得导入Core Data 框架
#import "User.h"


#define COREDATA_PATH [NSHomeDirectory() stringByAppendingString:@"/Library/coreData.sqlite"] // 沙盒路径


@interface ViewController ()
{

    NSManagedObjectContext *context;//文件管理对象
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    NSString *StorePath=[NSHomeDirectory() stringByAppendingString:@"/Library/coreData.sqlite"];
    
    NSLog(@"%@",StorePath);//打印一下数据库文件的沙盒路径
    //1.连接并打开数据库
    [self OpenDatabase];
    
    
    //2.加入数据
    [self addUser];
 
}

- (void)OpenDatabase
{
    //1.创建数据模型对象
    NSURL *moURL=[[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];
   //数据模型对象
   NSManagedObjectModel * managerModel=[[NSManagedObjectModel alloc] initWithContentsOfURL:moURL];
    
    
    //2.创建本地持久化文件对象
    
    NSPersistentStoreCoordinator *persist=[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managerModel];
    /*
     NSSQLiteStoreType 以数据库类型存储(还有XML 类型存储)
     URL 存储在沙盒里的路径
     */
//    NSString *StorePath=[NSHomeDirectory() stringByAppendingString:@"/Library/coreData.sqlite"];
//    
    
    NSURL *StoreUrl=[NSURL fileURLWithPath:COREDATA_PATH];
    
    NSError *error=nil;
    
    //将数据对象添加到数据库中  NSSQLiteStoreType 这个是SQLite数据库类型的
    [persist addPersistentStoreWithType:NSSQLiteStoreType
                          configuration:nil
                                    URL:StoreUrl
                                options:nil
                                  error:&error];
    
    if (error) {
        
        NSLog(@"数据库打开失败");
    }
    
    //3.创建文件管理对象
    context=[[NSManagedObjectContext alloc] init];
    
    //管理本地持久化文件对象
    [context setPersistentStoreCoordinator:persist];

}


//添加用户
- (void)addUser
{
    //创建模型 实体
    //(1)实体的名字
    //(2)文件管理对象
    User *user=[NSEntityDescription insertNewObjectForEntityForName:@"User" inManagedObjectContext:context];
    user.username=@"jack";
    user.age=@19;
    
    //设置到文件管理对象容器中
    //(1)NSManagedObject 对象 user->即是它的实体
    [context insertObject:user];
    //保存到数据库中
    BOOL result=[context save:nil];
    
    if (result) {
        
        NSLog(@"添加成功");
    }else
    {
        NSLog(@"添加失败");
    }
    
}

Core Data 就简单介绍到这里了。接下来会持续更新。。


Core Data 使用

标签:core data ios数据持久化

原文地址:http://blog.csdn.net/swift_zero/article/details/44781885

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!