iOS,『 本地存储 SwpFMDB 』

iOS本地持久化储存方式

iOS本地持久化储存方式,常用几种方式

  • NSUserDefault,File,Keychain,DataBase
  • NSUserDefault, File 适用的范围也都是一些小规模数据, NSUserDefault 其实还是以 .plist 文件进行储存数据的.
  • Keychain 是苹果提供的带有可逆加密的存储机制, 用于储存一些私密信息, 比如密码, 证书等等, App卸载只要系统不重装,Keychain中的数据依旧能够得到保留.
  • DataBase, IOS 常用的数据库

DataBase, IOS 常用的数据库:

  • CoreData:苹果本身自带的数据 ( 重量级数据库,依赖性太强 ) 。
  • SQLite:API是纯C语言的, 这样我们一直以来面向对象开发的朋友们, 突然找不到了对象, 有点那么的惊慌失措。
  • FMDBFMDB 底层依然封装 SQLite

FMDB

  • FMDB 是方式封装了 SQLite, 并且对于多线程并发, 线程安, 进行了处理, 和苹果本身自带的 CoreData 对比 轻量, 依懒性小. 使用起来很方便.
  • FMDB 下载地地址

为什么封装 FMDB

  • 之前做的项目需要大量持久化存储数据, 使用 FMDB 需要些大量的 SQL 语句….😂😂😂😂😂😂。
    FMDB 已经封装了 SQLite,但是开发者还是需要去写 SQL 语句,对于模型中属性比较多的话,拼接 SQL 语句将变得十分繁琐, 字典, 数组数据是没办法直接存入数据库, 需要特殊处理。
  • 面向模型开发,操作模型,更加面向对象, 操作起来更加方便。
  • 所以笔者做了面向模型的二次封装,不需要写任何 SQL 语句, 屏蔽掉反锁的操作,插入数据库是模型数据,取出也是模型数据,简单粗暴, 方便使用.

SwpFMDB 警告

  • 请在自定义模型中加入这个属性 swpDBID.
1
@property (nonatomic, copy) NSString *swpDBID;
  • 使用 SwpFMDB 缓存数据,是自定义模型,请在自定义模型中添加 swpDBID 这个属性,该属性必须存在,否则会崩溃。
  • 如果继承 SwpBDModel 无需添加该属性。

SwpFMDB 注意事项

  • 创建出都是同一个对象, 无毒无害放心使用. 😀😀😀😀😀😀😀
1
2
3
4
5
6
7
8
9
10
11

SwpFMDB *swpFMDB1 = [[SwpFMDB alloc] init];
SwpFMDB *swpFMDB2 = [SwpFMDB new];
SwpFMDB *swpFMDB3 = [swpFMDB1 copy];
SwpFMDB *swpFMDB4 = [swpFMDB1 mutableCopy];
SwpFMDB *swpFMDB5 = [SwpFMDB shareManager];
NSLog(@"swpFMDB1 = %p, swpFMDB2 = %p, swpFMDB3 = %p, swpFMDB4 = %p, swpFMDB5 = %p", swpFMDB1, swpFMDB2, swpFMDB3, swpFMDB4, swpFMDB5);

// 打印结果:
swpFMDB1 = 0x61000001e8f0, swpFMDB2 = 0x61000001e8f0, swpFMDB3 = 0x61000001e8f0, swpFMDB4 = 0x61000001e8f0, swpFMDB5 = 0x61000001e8f0


SwpFMDB 详细文档


SwpFMDB 下载地址


参考文献