zoukankan      html  css  js  c++  java
  • realm数据库使用

    Realm的优点

      1.跨平台:Realm可同时兼顾iOS和Android两个平台,使用时不用考虑内部数据的架构不同。

      2.简单易用:相比Core Data 和 SQLite 晦涩难懂的代码与知识要简单的多,可以减少开发成本

      3.可视化:可以使用Realm Browser ,随时查看数据库中的数据

      4.查询速度极快

    Realm支持OC和Swift语言开发。

    使用CocoaPods进行管理Realm第三方库

    platform :ios , ‘8.0’
    target ‘项目名称’ do
    pod 'Realm'
    end 
     
    RLMRealm:Realm是框架的核心所在,该类提供默认的构造方法defaultRealm
    RLMRealm *reamlm = [RLMRealm defaultRealm];

    RLMObject :创建存储的数据模型时,需要继承这个类

    #import <Realm/Realm.h>

    @interface ACLModel : RLMObject

    @property NSString *systemSn;
    @property NSInteger permissionValue;
    @property NSString *moduleSn;

    @end

    写操作事务(Write Transactions):数据库中的所有操作(插入,查询,删除,修改)

    查询(Queries):要在数据库中检索信息

     
    创建数据库,并设置数据库的名字和存储的地方
    - (void)creatDataBaseWithName:(NSString *)databaseName {
    NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [docPath objectAtIndex:0];
    NSString *filePath = [path stringByAppendingPathComponent:databaseName];
    NSLog(@"数据库目录 = %@",filePath);
    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
    config.fileURL = [NSURL URLWithString:filePath];
    [RLMRealmConfiguration setDefaultConfiguration:config];
    }
     
    设置主键需要重写
    + (NSString *)primaryKey {
        return @"id";
    }

    单个写入操作将会阻塞其余的操作
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
      RLMRealm *realm = [RLMRealm defaultRealm];
      [realm transactionWithBlock:^{ [
        realm addObject: Car];
        }];
      });
    数据的查询

    RLMResults *results = [ACLModel objectsWhere:@"systemSn = 'assets' AND moduleSn = 'check' AND permissionValue = 0"];
    NSLog(@"======%lu",(unsigned long)results.count);




    
    
  • 相关阅读:
    BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP
    BZOJ_1334_[Baltic2008]Elect_DP+语文题
    BZOJ_1858_[Scoi2010]序列操作_线段树
    BZOJ_1369_[Baltic2003]Gem_树形DP
    BZOJ_1705_[Usaco2007 Nov]Telephone Wire 架设电话线_DP
    BZOJ_2223_[Coci 2009]PATULJCI_主席树
    BZOJ_1800_[Ahoi2009]fly 飞行棋_乱搞
    BZOJ_1878_[SDOI2009]HH的项链_莫队
    Struts2自定义过滤器的小例子-入门篇
    JAVA程序员常用软件整理
  • 原文地址:https://www.cnblogs.com/lcl15/p/8288094.html
Copyright © 2011-2022 走看看