MagicalRecord 手把手集成和基础使用

1.集成步骤

  • 新建工程

注意 Use Core Data 勾选框为空


新建工程
  • 准备图片
各国国旗
  • 使用CocoaPods集成MagicalRecord
终端编辑Podfile
  • 按照步骤添加framework
添加```CoreData.framework```

2.使用方法

  • 新建文件
New File
  • 选择Data Model
```model```创建
  • 输入名字创建好FlagModel然后添加Entity
创建```Entity```
  • 添加属性名字以及类型

注意language默认是否为oc
命名属性及类型
  • 再添加一个和旗帜相关的Entity并添加相关的属性和类型
```FlagInfo Entity```
  • 指定Entities之间的关系
给```FlagInfo```指定```flag```的关系

给```Flag```指定```flagInfo```的关系
  • 生成对应的类

注意确定勾选框都勾上 一路下一步直到创建好
Xcode选择

创建好可以看到这些文件

3.大概写一下其他UI就可以开始使用MagicalRecord

  • 初始化Coredata代码
    AppDelegate.m添加#import <MagicalRecord/MagicalRecord.h> 只需要添加一行代码[MagicalRecord setupCoreDataStackWithStoreNamed:@"FlagModel"];didFinishLaunchingWithOptions方法就完成了初始化

  • 存储数据

    flag.name = addInfoDic[@"nameStr"];
    flag.flagInfo = [FlagInfo MR_createEntity];
    flag.flagInfo.travelTimes = [addInfoDic[@"countStr"] intValue];
    flag.flagInfo.describtion = addInfoDic[@"imageStr"];
    [superVC dismissViewControllerAnimated:YES completion:nil];
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];```

- 读取数据

```NSArray *all = [Flag MR_findAll];
    for (int i = 0; i<all.count; i++) {
        Flag *flag = all[i];
        [dataArray addObject:flag];
    }```

- 删除数据

```Flag *flag2Delete = dataArray[indexPath.row];
        [flag2Delete MR_deleteEntity];
        [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreWithCompletion:^(BOOL contextDidSave, NSError * _Nullable error) {
            if (!error) {
                [self checkFlagData];
            } else {
                NSLog(@"%@", error);
            }
        }];```
- 清除所有数据

``` [Flag MR_truncateAll];```

 <a href= "https://github.com/jiame/Flags_MagicalRecord">完整demo代码</a>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容