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)
}
复制代码

 

posted @   荣超  阅读(590)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示