美文网首页
iOS开发<Realm 框架篇> <一>

iOS开发<Realm 框架篇> <一>

作者: farmerly | 来源:发表于2018-06-05 18:20 被阅读13次

    【Realm官网中文版文档】
    【Realm打开数据库的软件】直接在AppStore搜索(Realm Browser)免费的

    如何安装Realm请阅读中文版文档

    以下内容和官网大致一样,但是是通过自己梳理整理的一份资料,容易理解,Realm跨平台都是知道的这些七七八八的就不多说了,看例子吧!

    建立一个模型文件

    • 文件都继承自 RLMObject (因为这个文件才是可自定义的)
    单个数据保存的例子(用学生做例子~大家都是这么玩的)
        @interface Student : RLMObject
        @property (nonatomic, strong) NSString * userName;
        @property (nonatomic, assign) NSInteger  age;
        @property (nonatomic, strong) NSString * manColor;
        @end
    

    好了这样我们就建立了一个继承自RLMObject的模型了,然后我们只需要在代码中调用就可以实现保存数据(以下为保存数据)
    直接在控制器写或者appdelegate中写(记得引入模型文件)

        - (void)addDataToRealm {///添加数据
          Student *stu = [[Student alloc] init];
          stu.name = @"realm";
          stu.age    = 1;
          stu.manColor = @"white";
          RLMRealm *realm = [RLMRealm defaultRealm];
          [realm transactionWithBlock:^{
              [realm addObject:stu];
          }];
      }
    

    如果要多次测试记得删除以下文件哦

        //打印文件路径,这个用来寻找到文件用软件打开查看
        PNCLog(@"%@",[RLMRealm defaultRealm].configuration.fileURL);
        //直接删除文件
        - (void)cleanRealm {
            NSFileManager *manager = [NSFileManager defaultManager];
            RLMRealmConfiguration *config = [RLMRealmConfiguration         defaultConfiguration];
            NSArray<NSURL *> *realmFileURLs = @[config.fileURL,        [config.fileURL URLByAppendingPathExtension:@"lock"],[config.fileURL URLByAppendingPathExtension:@"management"],
                                        ];
            for (NSURL *URL in realmFileURLs) {
                NSError *error = nil;
                [manager removeItemAtURL:URL error:&error];
                if (error) {
                    NSLog(@"clean realm error:%@", error);
                }
            }
        }
    

    测试效果图:

    image.png

    不要在意是不是student,如果在意我也没办法

    文章顺序 :

    相关文章

      网友评论

          本文标题:iOS开发<Realm 框架篇> <一>

          本文链接:https://www.haomeiwen.com/subject/radmsftx.html