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) }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端