于是,开源社区中就出现了一系列将 SQLite API 进行封装的库,而 FMDB (https://github.com/ccgus/fmdb) 则是开源社区中的优秀者。...FMDB 在使用上相当方便。...使用说明 ---- 该使用说明主要翻译自 fmdb 的 github 项目说明文档: https://github.com/ccgus/fmdb 引入相关文件 首先将 FMDB 从 github 上 clone...总结 ---- FMDB 将 SQLite API 进行了很友好的封装,使用上非常方便,对于那些使用纯 Sqlite API 来进行数据库操作的 app,可以考虑将其迁移到基于 FMDB 上,这对于以后数据库相关功能的开发维护...参考:在iOS开发中使用FMDB
关于FMDB最基本的使用我们就不在说了,这个网上大把的文章介绍,我就在这里总结几点我最近在写一个小东西的时候注意到的一点点东西: 一: 怎么看真机上SQLite数据库 我们在开发的过程中肯定有使用到真机测试...关于FMDB最基本的使用我们就不在说了,这个网上大把的文章介绍,我就在这里总结几点我最近在写一个小东西的时候注意到的一点点东西: 二:要是你要写入大量的数据 1、引入的它叫做“事务”,事务主要是解决数据量多的耗时操作...所以事务是线程安全的 EG:下面就是一个简单的数据存储关于FMDB事务的例子 /** debug @param title 统计标题 @param content 统计内容JSON数据...= [NSString stringWithFormat:@"%ld",(long)[dateComponent hour]]; return hour; } 参考学习链接: FMDB
在已经存在的表中,添加字段,更新表结构 /** Test to see if particular column exists for particular t...
概括: 我们先说说这两个东西,CoreData 和 FMDB,其实就我自己而言觉得这两个都不错,刚开始是接触FMDB的,CoreData是工作后自己看的。...苹果推荐开发者去使用CoreData,但 FMDB 在 git 上的那上万颗星星也说明了开发者对它的喜爱。...在开发中你要是只是使用一张表去存储一点简单的东西,使用FMDB也方便,可是一旦表与表之间产生属性关联的话,用FMDB就比较的麻烦了。但用 CoreData 就比较的容易。 ...FMDB: 我自己用着FMDB感觉一切还好,除了每次一懵逼,找找SQLite语句。 它的使用,网上真的是一大把,我就不再重复啰嗦了。...把FMDB官方的解释中文版链接给大家,有时间还是看看吧,毕竟不是每个人都知道官方解释说了什么。说不定就有遗落了的知识。 FMDB 使用方法 有一点你知道吗?
在比较了Realm、SQLite之后,我决定在项目中依然使用SQLite数据库,并切还是使用FMDB这个第三方库来简化操作。...SQLite语句,从我自身来说,感觉其实没有那么好的记忆力,所以我又花了一点点时间来温习FMDB的常规操作,想到自己从来没有总结过数据库这方面的知识,今天就花一点点时间,对iOS端SQLite数据库做一点操作层面的总结...所以才有了应运而生的FMDB。 建表以及关闭表 使用数据库的第一件事,就是建立一个数据库。要注意的是,在iOS环境下,只有document directory 是可以进行读写的。...NSLog(@"type = %d , status = %d, name = %@, id = %@", type, status, name, id); } 至此,FMDB...的常用操作就已经讲完了,后面还会补上FMDB的多线程操作。
最近自己折腾一个小App的时候需要使用sqlite本地数据库,上Github搜了下IOS下对SQLite的三方封装有个星星很多的FMDB。...下面我就介绍下如何在Swift下使用oc的FMDB库。 1.下载 第一步自然是去下载FMDB了。...https://github.com/ccgus/fmdb 2.建立桥接 把下载下来的zip解压。打开项目文件夹,找到fmdb文件夹,把里面所有的文件选中,拖动到你的Swfit项目中。 ...在里面输入:#import "FMDB.h" 这样我们FMDB到Swift的桥接头就建好了。 3.使用 有了桥接头,我们就可以欢快的使用FMDB了。
FMDB是Objective-C上操作Sqlite的开源库,与原生的操作sqlite数据库相比,有以下几个优点: 操作方便、简单、代码优雅,易于维护; 线程安全,用着更放心,很少出现过锁死数据库文件以及...FMDatabase不是线程安全的,一个FMDatabase对象一定不能在多线程中使用,为了保证线程安全,可以在FMDB中采取下面两种方式: 每个线程都创建一个FMDatabase对象,使用之前打开连接...历史总是惊人的相似,FMDatabaseQueue的使用就是采用这样的方式来处理的,来看一段fmdb主页上提供的一个例子: FMDatabaseQueue *queue = [FMDatabaseQueue...rs = [db executeQuery:@"select * from foo"]; while ([rs next]) { //... } }]; 更多实例请移步FMDB...在GitHub上的主页 或者访问@唐巧_boy 关于FMDB的这篇文章 Have Fun!
我们是使用FMDB保存好友,联系人数据,在开始使用FMDB的进行小批量数据的读写时,开始还是蛮正常的,随着数据量以及业务的复杂增加,发现了一些离奇的问题: 1、偶现联系人数据表中存在重复记录; 2、偶现读取不到数据
一:介绍 FMDB是一个轻量级的数据库,用于将网络资源存储在本地。 项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。...FMDB 将 SQLite API 进行了很友好的封装,使用起来非常方便。 下面是对FMDB的使用总结,分享给大家,另外附一份demo供大家参考。...二:FMDB优点 1.使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 2.对比苹果自带的Core Data框架,更加轻量级和灵活 3.提供了多线程安全的数据库操作方法,有效地防止数据混乱 三:将...FMDB第三方库引入到项目 下载FMDB库文件,demo中是直接导入项目中,可直接下载demo引用库文件,也可以使用CocoaPods导入。...libsqlite3.dylib 依赖(具体流程 Project->TARGETS->Build Phases->Link Binary With Libraries,然后点击+号引用该动态库) 四:FMDB
平滑迁移 文件格式 由于 FMDB 和 WCDB 都基于 SQLite ,因此两者在数据库的文件格式上一致。用 FMDB 创建、操作的数据库,可以直接通过 WCDB 打开、使用。...FMDB 只做了最简单的封装, 而 WCDB 还包括 ORM 、 WINQ 等操作,因此执行的指令会比 FMDB 多,从而导致 WCDB 在读操作上性能劣于 FMDB 5% 。...而写操作通常是性能的瓶颈,我们重点对其做了许多针对性的优化,使得 WCDB 写操作优于 FMDB 28%、批量写操作优于 FMDB 180% 。...FMDB 62% 。...多线程操作 WCDB 与 FMDB 都支持多线程操作。 在 FMDB 内,当开发者需要进行多线程操作时,需要使用另外一个类 FMDatabasePool来进行操作。
FMDB是一个轻量级的数据库,用于将网络资源存储在本地。项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。...FMDB 将 SQLite API 进行了很友好的封装,使用起来非常方便。...一:FMDB优点 1.使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 2.对比苹果自带的Core Data框架,更加轻量级和灵活 3.提供了多线程安全的数据库操作方法,有效地防止数据混乱 二:将...,然后点击+号引用该动态库) 三:FMDB主要的核心类: 1.FMDatabase 一个FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句。...四:FMDB的增删改查 通常对数据库的操作,我们一般称为CURD,即对表进行创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。
首先要先导入第三方类库FMdatabase。 获得存放数据库文件的沙盒地址。 +(NSString*)databaseFilePath [ob...
自己是最近才有时间看的WCDB,总结一下自己的理解和学习的东西,WCDB是微信团队开源的支持Android,也支持iOS,那当然也是会支持macOS的一个移动端数据库框架,FMDB估计做iOS的99.99%...FMDB:它基于SQLite封装,对于有SQLite和ObjC基础的开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLite的C接口封装成了ObjC接口,没有做太多别的优化,即所谓的胶水代码...但当前可能还是做得不够吧,所以你这样看可能也就不难理解,一起为什么那么多人用FMDB,但确实也是有些场景中CoreData能做起来容易点的的不一定FMDB也容易,比如在两张表之间建立联系的时候,CoreData...4、从FMDB迁移到WCDB 这部分的内容上面提到自己在准备迁移到WCDB,所以就等迁移完成了会分享出心得。...上面的内容其实都是一些WCDB最基本的使用,也是希望WCDB大家都能掌握,既然是比FMDB好的存在我们也是肯定需要掌握的! 上面涉及到的Demo地址
这篇文章重点介绍FMDB数据库插件的开发与使用。...二:实现思路分析 FMDB数据库插件是需要实现数据的新增、查询、修改、删除等功能,通过querySQLite方法来实现数据的查询,并将接口提供给Javascript开发使用,打开默认浏览器和打开自定义浏览器...创建数据库DataBase.db 在导入第三方FMDB库之后,需要在DataBasePlugin.m引入: #import "FMDatabase.h" 实现数据库的第一步,创建数据表,源码如下: -
selectAllPersonFromPersonTable; @end DataBaseHandle.m #import "DataBaseHandle.h" #import "FMDB.h
IPA processing failed image.png 大概意思是:我用的FMDB.framework 里面 x86_64 i386 之类的 ,终端命令行删除 就可以 !.../Xcode/Archives/2020-07-02/万事达 2020-7-2, 9.06 AM.xcarchive/Products/Applications/万事达.app/Frameworks/FMDB.framework...# 查看是否存在 x86_64 i386 之类 lipo -info FMDB # 删除 x86_64 i386 lipo -remove x86_64 FMDB -o FMDB...lipo -remove i386 FMDB -o FMDB # 确认没有x86_64 i386 之类即可打包 lipo -info FMDB image.png image.png image.png
基于FMDB的ORM数据库设计 这次呢,我们来说说iOS中数据持久化的几种方案。...而在OC中使用sqlite3目前又主要分为3中方式: 使用sqlite3提供的库函数 FMDB CoreData sqlite3提供的库函数 sqlite3 本身是一套纯C的API,使用起来因人而异,有的喜欢有的不适应...嘿嘿 FMDB FMDB是对sqlite3做的一层对象思想的封装。结构良好,执行效率比原生sqlite3并不逊色。优势在于他是面向对象的。...iOS FMDB库详解 他的优势在于他将增删改三个操作都抽象成update方法,查抽象成query方法,在使用上API十分简洁。短板就在于你还是要针对不同模型去组装不同的sql语句。...有意思 ---- DWDatabase 首先DWDatabase是一套基于FMDB的ORM数据库方案。他的设计理念就是要搞出一套无入侵性的根据模型自动落库的数据库方案。
工程中经常需要使用数据库来保存一些数据在本地手机上,iOS是自带Sqlite的,但是常用的还是第三方的类库——FMDB。...或者更彻底想要删除表也可以: //删除名为user的表 [self.db executeUpdate:@"DROP TABLE user"]; 或者再加大力度毁灭世界销毁数据库本身,这里用到的就不止是FMDB
一般使用工程名就使用库的名称,比如我这里用FMDB来创建静态库,我的工程名就取名为FMDB,创建的.a静态库就是libFMDB.a。 ? 使用静态库模板新建工程.png ?...创建的工程.png 第二步,删除系统默认创建的【FMDB.h】和【FMDB.m】文件,导入需要打包的源文件。 ? 导入源文件后.png 第三步(方式一),修改项目配置 ?...新建项目.png 第二步,删除系统默认创建的【FMDB.h】和【FMDB.m】文件,导入需要打包的源文件。 ? 导入源码后的工程.png 第三步,修改项目配置 首先,设置需要暴漏的头文件 ?.../Build/Products/Release-iphonesimulator/FMDB.framework/FMDB /Users/harvey/Library/Developer/Xcode/DerivedData.../FMDB-clvayfrjgytqrbdkyqrtcjkxfeuz/Build/Products/Release-iphoneos/Release-iphoneos.framework/FMDB -output
数据库 FMDB - 多线程FMDatabaseQueue实例,FMDB数据库的使用演示和封装工具类,基于fmdb的基本操作 通过fmdb进行的数据库的基本操作(增删改查)查找是使用UISearchBar...GXDatabaseUtils - 在FMDB基础上的工具。
领取专属 10元无门槛券
手把手带您无忧上云