zoukankan      html  css  js  c++  java
  • ios Realm的使用 本地数据存储

    引入需要的文件

    pod 'RealmSwift'

      pod 'Realm'

    然后在命令行使用 (首先应该cd到项目的根目录)输入 pod install 等待下载就行了(这个下载有点费劲,其他的插件包下的都比较快)

    在页面

    import RealmSwift 就可以使用了

    func configRealm(){
            Realm.Configuration.defaultConfiguration = Realm.Configuration(
                schemaVersion: 5,
                migrationBlock: { migration, oldSchemaVersion in
                    //这里处理各个版本数据字段的变动 
                    //这里不要使用if else 语句
                    //每个版本用if 判断就行
                    //这样可以尽量防止某些用户不及时更新造成的异常
                    //如果从1 版本直接转到 5版本,每个版本的变动都会执行
                    if(oldSchemaVersion < 1) {
                        
                    }
    if(oldSchemaVersion < 2){}
    ..... }) }

     数据modal

    class Msg: Object {
        
        @objc dynamic var id = ""
        @objc dynamic var title = ""
        @objc dynamic var notes = ""
        @objc dynamic var uid = ""
        @objc dynamic var opBy = ""
        @objc dynamic var opName = ""
        @objc dynamic var cAt = Date()
        @objc dynamic var status = false //false 未读 ;true 已读
        
        override static func primaryKey() -> String? {
            //id设置为主键
            return "id"
        }
        
    }

    使用

    let realm = try! Realm()
    let msgs = realm.objects(Msg.self)//查询所有消息
    
    //插入消息
    try! realm.write {
        realm.add(msg)
    }
    
    //更新消息 数据库没有当前消息的情况下会插入
    try! realm.write {
        realm.add(msg,update=true)
    }
    
    //删除消息
    try! realm.write {
        realm.delete(msg)
    }
  • 相关阅读:
    Linux下fork机制详解(以PHP为例)
    查看Nginx、PHP、Apache和MySQL的编译参数
    MySQL更新
    Map集合的四种遍历方式
    Selenium2工作原理
    Web自动化测试框架-PO模式
    jmeter(十二)处理Cookie与Session
    java 字符串截取的几种方式
    操作JavaScript的Alert弹框
    selenium 延迟等待的三种方式
  • 原文地址:https://www.cnblogs.com/rchao/p/10715497.html
Copyright © 2011-2022 走看看