iOS FMDB封装实现数据持久化
iOS 里的数据持久化,多人第一反应就是 CoreData 或者直接上 SQLite。但其实,FMDB 也是个挺稳的选择,尤其是用 Objective-C 写项目的时候,用起来更顺手点。
FMDB 的二次封装,就像是把生的食材好,炒熟了端上桌。你直接吃就行,不用自己剁肉洗菜。这篇文章的 LHMFMDBManager
,就是这么个“厨师”。封装了一整套数据库操作逻辑,像初始化、建表、插入、查询、更新、删除,基本都打包好了。
比如你想插个用户数据,直接调用 insertObject:
方法,把模型扔进去就完事了。内部会判断你传的对象符不符合协议,自动拼接 SQL、执行语句。查询数据也差不多,封装好了 queryObjectsWithSQL:
,返回的就是好的数组,拿来就能用。
封装的核心类是 FMDatabase
和 FMDatabaseQueue
,一个搞连接,一个管线程。你也知道,多线程操作数据库,要么死锁,要么数据错乱,用 FMDatabaseQueue
就比较稳,线程安全也省心。
另外还有点我觉得挺贴心的:异常也封了,执行失败会直接 NSLog
错误信息,你排查起来也比较方便。尤其适合刚上手数据库的新手。
如果你懒得自己封装数据库,又不想上手太重的 CoreData,那这个 LHMFMDBManager 还蛮值得一试的。ReadMeForLHMFMDBManager 文件里有详细用法,照着抄都能用。
想扩展阅读可以看看这些:
如果你在做一个比较轻量的 iOS 应用,数据量不大,逻辑又不复杂,那用 FMDB 加上这种封装就挺香的。自己写代码的时候别忘了用 FMDatabaseQueue
,响应也快,线程也安全。
WSFMDBManger.zip
预估大小:35个文件
WSFMDBManger
文件夹
FMDB
文件夹
FMDatabase.h
4KB
FMResultSet.h
3KB
FMDatabaseAdditions.h
1KB
FMResultSet.m
12KB
FMDatabasePool.m
6KB
FMDatabasePool.h
2KB
.svn
文件夹
all-wcprops
2KB
60.79KB
文件大小:
评论区