• 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)
    }
  • 相关阅读:
    Java:求字符串中邻接的数字为一个整体
    在jsp提交表单的参数封装到一个方法里
    synchronized
    java内存模型JMM
    多线程学习:线程基础
    集合框架总结与开发遇到的问题
    HashSet、LinkedHashSet学习笔记
    Iterable、Collection、AbstractConlltion、List学习笔记
    LinkedList学习笔记
    LinkedHashMap
  • 原文地址:https://www.cnblogs.com/rchao/p/10715497.html
Copyright © 2020-2023  润新知