MagicalRecord的简单使用

来源:互联网 发布:davinci监控软件 编辑:程序博客网 时间:2024/04/27 15:28

1、新建一个工程,注意不要勾选 Core Data。

2,为项目添加CoreData FrameWork。(点击工程根节点,然后依次Targets > Build Phases > Link Binary With Libraries > + > CoreData.framework > Add)。

3.

创建模型文件:

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

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

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

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

4.关联model

4、

然后:

自动生成这个model


待一切准备工作就绪后:

在appdelegate里面注册一哈:

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


然后在你想实现的类里面实现增删改查操作

增加:- (IBAction)add:(id)sender {
    
    //向数据库 增加数据 MR_createEntity 是 NSManagedObject第三方库用类别增补
    Person * model = [Person MR_createEntity];
    model.name = self.nameTF.text;
    model.score = self.scoreTF.text;
    //最后 同步保存到本地数据库
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
}

删除:- (IBAction)dele:(id)sender {
    
    NSArray * arr = [Person MR_findByAttribute:@"name" withValue:self.nameTF.text];
    for (Person * model in arr) {
        [model MR_deleteEntity];//删除
        
    }
    //最后  同步保存到本地数据库
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
    
}

更新:- (IBAction)update:(id)sender {
    NSArray * arr = [Person MR_findByAttribute:@"name" withValue:self.nameTF.text];
    for (Person * model in arr) {
        model.name = self.nameTF.text;
        model.score = self.scoreTF.text;
    }
    //最后  同步保存到本地数据库
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
}

查找:- (IBAction)checkone:(id)sender {
    
    [self.dataArr removeAllObjects];
    
    NSArray * arr = [Person MR_findByAttribute:@"name" withValue:self.nameTF.text];
    [self.dataArr addObjectsFromArray:arr];
    [self.tableView reloadData];

    
}
查找全部:
- (IBAction)checkall:(id)sender {
    
    [self.dataArr removeAllObjects];
    NSArray * arr = [Person MR_findAll];
    
    [self.dataArr addObjectsFromArray:arr];
    
    [self.tableView reloadData];
    
    
}






0 0
原创粉丝点击