Core Data 使用

简单的介绍一下 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];

[email protected]"jack";

[email protected];

//设置到文件管理对象容器中

//(1)NSManagedObject 对象 user->即是它的实体

[context insertObject:user];

//保存到数据库中

BOOL result=[context save:nil];

if (result) {

NSLog(@"添加成功");

}else

{

NSLog(@"添加失败");

}

}

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

时间: 2024-08-07 22:19:33

Core Data 使用的相关文章

Core Data

简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的.简单地用下图描述下它的作用: 左边是关系模型,即数据库,数据库里面有张person表,person表里面有id.name.age三个字段,而且有2条记录: 右

我为什么用 SQLite 和 FMDB 而不用 Core Data

转:http://segmentfault.com/a/1190000000363392 编者注:文章的"我"是指原作者. 凭良心讲,我不能告诉你不去使用Core Data.它不错,而且也在变好,并且它被很多其他Cocoa开发者所理解,当有新人加入你的组或者需要别人接手你的项目的时候,这点很重要.更重要的是,不值得花时间和精力去写自己的系统去代替它.真的,使用Core Data吧. 为什么我不使用Core Data Mike Ash写到: 就我自己而言,我不是个狂热粉丝.我发现API是

Core Data存储自定义类型数据

目录: 一.使用CoreData存储基本数据 二.使用CoreData存储自定义类型数据 简单介绍CoreData CoreData是iOS编程中使用持久化数据存储的一种方式,我们知道CoreData并不是数据库本身,而是Apple提供的对象持久化技术--Object Persistent technology.CoreData框架为我们的数据变更.管理.对象存储.读取和恢复提供了支持.下面我们来尝试创建一个简单的CoreData Project. 操作 1. 打开x-code,为你的proje

Core Data使用之一(Swift): 保存

Core Data 用于永久化数据,它是基于SQLite数据库的保存一门技术. 那么,在Swift中,它是如何实现的呢? 首先,需要新建一个模板,打开工程中的xcdatamodeld文件,点击“Add Entity” ,这时候,就创建的一个模板.之后,可以修改模板的名称为自己想要的名称.然后,在Attributes里面,点击“+”,添加字段并修改类型. 然后,在代码里面 “import CoreData”.接着,用NSManagedObject来保存对象,它可以转换成任何对象.它的类型是字典.

Chapter 23 Core Data

1.  Core Data is only able to store certain data types in its store, and UIImage is not one of these types. Instead, you declared the UIImage as transformable. With a transformable attribute, Core Data will convert the object into NSData when saving,

Core Data浅谈系列之十 : 关于数据模型中实体的属性

之前写了<Core Data浅谈系列汇总>,今天稍微回顾了下,做些补充. 在这个系列的第一篇<基础结构>中(2013年1月份的文章,时间过得好快啊!),有简单带过Entity的Attribute: 数据类型.布尔值统一用NSNumber来表示: 字符串类型用NSString表示: 时间类型用NSDate表示: 二进制数据类型用NSData表示: 非标准类型用Transformable来表示: 而Attribute还有其自身的Properties,比如Transient表示不用持久化

iOS Core data多线程并发访问的问题

大家都知道Core data本身并不是一个并发安全的架构:不过针对多线程访问带来的问题,Apple给出了很多指导:同时很多第三方的开发者也贡献了很多解决方法.不过最近碰到的一个问题很奇怪,觉得有一定的特殊性,与大家分享一下. 这个问题似乎在7.0.1以前的版本上并不存在:不过后来我升级版本到了7.0.4.app的模型很简单,主线程在前台对数据库进行读写,而后台线程不断地做扫描(只读).为此每个线程中各创建了一个NSManagedObjectContext. 这个模型其实有点奇怪,因为普遍的模型是

iOS开发学习之Core Data

1.添加DataModel文件 2.添加实体和属性 3.创建NSManagedObject的子类,这里命名为Location(若没有实体属性类型是Transformable或没有额外的方法,只需要存储基本类型的话,可略过) 注意:这里可以做一个额外的工作,在Location+CoreDataProperties.h文件中,将实体属性类型是Transformable对应的@property属性的类型从id改为需要的类型 4.在AppDelegate.m文件添加以下代码: @interface Ap

Core Data-备用

Core Data是一个功能强大的层,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互.Core Data将数据库行转换为OC对象(托管对象)来实现,这样无需任何SQL知识就能操作他们. Core Data位于MVC设计模式中的模型层,一般需要在设备上存储结构化数据时,考虑使用SQLite或是序列化等方法,而Core Data是这两种方法的混合体,并增加了一些功能,提供了SQL强大威力,但是用起来又和序列化一样简单.Core Data能将应用程序中的对象

UIKit,Core Data , Core Graphics, Core Animation,和OpenGLES框架

iOS的主要框架介绍 框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件.一个共享库定义的方法或函数可以被应用程序调用. IOS提供了很多你可以在应用程序里调用的框架.要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它.许多应用程序都使用了如Foundation.UIKit.和Core Graphics这些框架.根据你为应用程序选择的模版,相关的框架就已经被自动引入了.如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架. 看