IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中

原创 2015年07月08日 01:30:38

在开发的当中,往往碰到要将数据持久化的时候用到FMDB,但是碰到模型中的属性有数组,但是FMDB存放的属性通常只为Text,那我们改怎么办呢?

思路:1.创建一个表,先将模型的除数组以为的其他属性写入表中,名为t_groupBuyModel
2.创建一个表装载模型中的数组文本,名为t_images
3.当存入模型到表中的时候,遍历模型中的数组属性,让每一条数据都存入t_images表中去

// 既然要使用到FMDB,肯定必须包含FMDB的头文件把,这些东西我就不多说了,直接奔重点

#import "FMDatabase.h"

> // 小编比较喜欢在对象的initialize方法里面创表(ps:好奇怪,发博客不写">"代码颜色不会变的,什么问题呢)
static FMDatabase *_db;
+ (void)initialize
{
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"AJKGroupBuyModels.db"];

    _db =[ FMDatabase databaseWithPath:path];
    [_db open];

    // 创表
    [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_groupBuyModel (id integer PRIMARY KEY,act_title text,cover_image text ,avg_price text,region_name text,join_num text,date_end text,act_rebate text,loupan_id text,loupan_name text,address text,see_detail text);"];
    // 创建一个表装载模型中的数组文本
    [_db executeUpdate:@"CREATE TABLE IF NOT EXISTS t_images (id interger PRIMARY KEY ,loupan_id text, image text)"];
}

———- 华丽的分割线

+ (void)addModel:(AJKGroupBuyModel *)model
{
    [_db executeUpdateWithFormat:@"INSERT INTO t_groupBuyModel (act_title,cover_image,avg_price,region_name,join_num,date_end,act_rebate,loupan_id,loupan_name,address,see_detail) VALUES (%@,%@,%@,%@,%@,%@,%@,%@,%@,%@,%@);",model.act_title,model.cover_image,model.avg_price,model.region_name,model.join_num,model.date_end,model.act_rebate,model.loupan_id,model.loupan_name,model.address,model.see_detail];
   // 根据对应的模型遍历数组内的对象并创建数据
    for (int i = 0; i < model.images.count; i ++ ) {
        [_db executeUpdateWithFormat:@"INSERT INTO t_images (loupan_id,image) values (%@,%@)",model.loupan_id,model.images[i]];
    }

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

FMDB存储字典或数组

储,你查询获取数据时就会获取无法转换成字典或数组的字符串。 转换JSON存储: NSArray *picArr = (NSArray *)dic[@"pic"];         NSErr...

IOS_FMDB有关字典、数组存储及获取问题

FMDB存储字典或数组时会变成字符串存入s

fmdb存储字典数组

FMDB存储字典或数组时会变成字符串存入sqlite里,但如果不将其转换成json格式存储,你查询获取数据时就会获取无法转换成字典或数组的字符串。 转换JSON存储: NSArray *p...

IOS NSData/NSArray数组存储为SQLite blob

IOS NSData/NSArray数组存储为SQLite blob

iOS FMDB存储字典、数组 及获取问题

FMDB存储字典或数组时会变成字符串存入sqlite里,但如果不将其转换成json格式存储,你查询获取数据时就会获取无法转换成字典或数组的字符串。 转换JSON存储: NSArray *picAr...

iOS开发-------FMDB实现本地存储简易通讯录

上一篇博客,用自带的sqlite3实现了简易的通讯录,那么实现本地存储,除了coreData以及sqlite3,也看出用sqlite3来实现是比较麻烦的,特别是需要注意NSString以及C语言的字符...

fmdb 存储字典模型

从网上下载FMDB的原码,将其拖入到项目中,然后在Link Binary With Libraries中添加libsqlite3.dylib,就可以用了      实现如下:   ...

ios数据存储方式FMDB

从网上下载FMDB的原码,将其拖入到项目中,然后在Link Binary With Libraries中添加libsqlite3.dylib,就可以用了      实现如下:   #import "...

自定义封装简单的基于FMDB以及数据model的数据库操作

.h 文件 #import //@class  FeedModel; //通用数据库封装类 //可以根据模型自动建表,实现增删改查 //模型类名就是表名,模...

float 类型的数据如何存进 NSArray NSMutableArray里面

先吧float类型的数据转换为NSNumber类型的数据  然后再存入数组中,用数据的时候只需要再把数据转换回来 //存入 NSNumber *number = [NSNumber numberWi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中
举报原因:
原因补充:

(最多只允许输入30个字)