数据缓存之MagicalRecord使用入门

运行环境:

OS X Yosemite 10.10.3

Xcode 6.3.1

MagicalRecord 2.3.0

工程配置:

1. 新建一个项目,注意在向导中不要勾选Core Data。

2. Product ->CocoaPods->Create/Edit Podfile 删除里面的数据然后在里面填写

platform :ios, '8.3'

pod 'MagicalRecord', '~> 2.3.0'

3. Product ->CocoaPods->Install Pods 等待下载完毕即可

4. 添加#import "MagicalRecord.h"到PCH文件中。

创建模型文件

下面创建一个名为Person的模型,有age、firstname、lastname三个字段。

1. 创建一个名为Model的模型文件。 (File > New File… > Core Data > Data Model > Next > Create)

2. 点击左下角的Add Entity,更改Entity的名字为Person。

3. 为Entity添加三个Attribute:age(Integer16)、firstname(string)、lastname(string)。

4. 点击File > New File… > NSManagedObject Subclass Next > 勾选Model > Next > 勾选Person > Next > > Create创建模型文件对应的类。

初始化

1. 首先在didFinishLaunchingWithOptions中添加以下代码对Magical Record进行初始化:

[MagicalRecord setupCoreDataStackWithStoreNamed:@"MyDataBase.sqlite"];

2. 在applicationWillTerminate中添加清除代码(自由选择是否清除)

[MagicalRecord cleanUp];

添加数据

//  实例化对象

Person *person = [Person MR_createEntity];

person.age = @17;

person.firstname = @"MTZ";

person.lastname = @"MYY";

//  保存数据

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

查询数据

//  查找数据库中的所有Person

NSArray *persons = [Person MR_findAll];

NSLog(@"%@",persons);

//  查找数据库中的第一条记录

Person *person2 = [Person MR_findFirst];

NSLog(@"%@",person2);

//  查找所有age属性为25的Person记录

NSArray *personsAgeEuqals17  = [Person MR_findByAttribute:@"age" withValue:[NSNumber numberWithInt:17]];

NSLog(@"%@",personsAgeEuqals17);

//  查找所有的Person并按照first name排序

NSArray *personsSorted = [Person MR_findAllSortedBy:@"firstname" ascending:YES];

NSLog(@"%@",personsSorted);

修改数据

//  取出表格中的第一条数据

Person *person3 = persons[0];

NSLog(@"%@",person3.lastname);

person3.lastname = @"MaTianZe";

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

NSLog(@"%@",person3.lastname);

删除数据

//  查找数据库中的第一条记录

Person *person4 = [Person MR_findFirst];

//  删除数据

[person4 MR_deleteEntity];

//  记得保存哦

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

MesaSQLite一些属性的含义

Z_PK    是表的主键,从1开始递增,唯一值

Z_ENT  表在xcdatamodel 中的索引值,创建了5个表,Z_ENT的区间就是[1,5 ]

Z_OPT  表示的是每条数据被操作的次数,初始化值为1,只要是增删改查都会加1

你可能感兴趣的:(数据缓存之MagicalRecord使用入门)