您的位置:首页 > 其它

CoreData的使用之三:MagicalRecord第三方库

2015-10-27 19:17 253 查看
MagicalRecord专门来操作 CoreData

1.初始化操作 创建数据模型文件

这个步骤,详见CoreData使用之二

2.根据数据模型文件创建关联的数据模型类

2.1)导入头文件#import "CoreData+MagicalRecord.h"

2.2)初始化数据库

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

默认存储路径大概是:
/Users/zhang_guang_yang/Library/Developer/CoreSimulator/Devices/2624B562-0012-4987-A26D-E9148529145C/data/Containers/Data/Application/FCF5E98B-087A-4500-AAF8-0DD6E5047EC7/Library/Application
Support/megcalRecord/school.sqlite


3.增删改查

//增加一个
-(void)addOneStudent{

//增加
数据模型对象

Student *oneStudent = [Student
MR_createEntity];
oneStudent.name =
self.nameTF.text;
oneStudent.id =
@(self.idTF.text.intValue);

//同步保存的本地

[[NSManagedObjectContext
MR_defaultContext] MR_saveToPersistentStoreAndWait];
}

//删除
- (void)delete {

//先
查找

//根据UserModel
对象的 name
属性 值
查找

NSArray *arr = [Student
MR_findByAttribute:@"name"
withValue:self.nameTF.text];

for (Student * oneStudent
in arr) {
[oneStudent
MR_deleteEntity];//把自己从数据库删除
}

//同步保存的本地

[[NSManagedObjectContext
MR_defaultContext] MR_saveToPersistentStoreAndWait];
}

//修改
- (void)update {

//根据UserModel
对象的 name
属性 值
查找

NSArray *arr = [Student
MR_findByAttribute:@"name"
withValue:self.nameTF.text];

for (Student * oneStudent
in arr) {
oneStudent.id =
@(self.idTF.text.integerValue);
}

//同步保存的本地

[[NSManagedObjectContext
MR_defaultContext] MR_saveToPersistentStoreAndWait];
}

//按照名字进行查找
- (NSArray *)findName:(NSString *)name {

//根据名字

并且 按照 age
降序

NSArray *arr = [Student
MR_findByAttribute:@"name"
withValue:self.nameTF.text
andOrderBy:@"id"
ascending:NO];

return arr;
}

//找出所有
- (NSArray *)findAll {

//查询所有的数据
按照 age
降序

NSArray *arr = [Student
MR_findAllSortedBy:@"id"
ascending:NO];

return arr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: