IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中
http://blog.csdn.net/github_29614995/article/details/46797917
在开发的当中,往往碰到要将数据持久化的时候用到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)"];
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
———- 华丽的分割线
+ (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]];
}
}
IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中的更多相关文章
- iOS小技巧总结,绝对有你想要的
原文链接 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIV ...
- iOS小技巧3
将颜色合成图片 将颜色合成图片 +(UIImage *)imageWithColor:(UIColor *)color { CGRect rect = CGRectMake(0.0f, 0.0f, 1 ...
- Oracle中的自连接(self join)-当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自连接。
http://blog.163.com/wkyuyang_001/blog/static/10802122820091751049479/ 当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自 ...
- iOS开发小技巧--利用运行时得到隐藏的成员变量
一.关于运行时,已经从网络上摘抄了一片文章,这里只有项目中自己的简单使用 -- 查找隐藏的成员变量 导入头文件 可以获得隐藏的成员变量,方法,属性等 代码: 打印效果图:
- iOS小技巧 - 和屏幕等宽的Table分割线
前言 因为本人也是学习iOS才一个多月,在写程序的过程中经常会遇到一些看似应该很简单,但是要解决好却要知道一点小trick的问题. 因此后面会陆续记一些这类问题,一来加深印象,二来也可以做个备忘录. ...
- 总有你需要的之 ios 小技巧 (下)
图片上绘制文字 写一个UIImage的category NSMutableParagraphStyle* paragraphStyle = [[NSParagraphStyle defaultPara ...
- 你想要的iOS 小技巧总结
UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(, , ...
- iOS小技巧:用runtime 解决UIButton 重复点击问题
http://www.cocoachina.com/ios/20150911/13260.html 作者:uxyheaven 授权本站转载. 什么是这个问题 我们的按钮是点击一次响应一次, 即使频繁的 ...
- iOS小技巧2
这段代码是实现了类似QQ空间"我的空间"里面的圆形头像 //圆形的头像 UIImageView * headImage = [[UIImageView alloc]initWith ...
随机推荐
- Android ViewDragHelper完全解析 自定义ViewGroup神器
Android ViewDragHelper完全解析 自定义ViewGroup神器 转载请标明出处: http://blog.csdn.net/lmj623565791/article/detai ...
- xntp的配置
ntpdate以一种非常粗暴的方式一次性完成设置时钟.由于实时时钟飘移,你需要周期性的矫正.基本上可以通过设置一个cron例行任务来运行ntpdate,但是你的机器从此就不能是ntp服务器了. 相反, ...
- Linux学习 -- 文件系统管理
1 分区和文件系统 分区类型 主分区:<= 4个 扩展分区:只能有一个,也算主分区的一种 不能存储数据和格式化,只能用来包含逻辑分区 逻辑分区:扩展分区中划分的 IDE--最多59个 ...
- 动态规划1-----------poj1080
#include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm> us ...
- bat脚本:自动压缩n天前的文件【转载】
原文如下: bat脚本:自动压缩n天前的文件-中原小伙-ChinaUnix博客http://blog.chinaunix.net/uid-24946452-id-1651762.html 磁盘 ...
- js中的整型都是用double存储的,有时候不精确,如,
sss=187948800449444864 187948800449444860 好像16位的时候还可以. http://segmentfault.com/a/1190000002608050
- strut1.X和spring整合的二种方法
第一种集成方法 原理:在Action中取得BeanFactory对象,然后通过BeanFactory获取业务逻辑对象 缺点:产生了依赖,spring的类在action中产生了依赖查找.(注意和依赖注入 ...
- StarUML---推荐一款UML工具(很好很强大)
转自:http://www.cnblogs.com/daizhj/archive/2008/04/14/1153121.html 上周我的一个朋友,同时也是目前公司的同事给我推荐了一款UML工具,开始 ...
- 修改SqlServer字段长度
Alter Table [JHEMR].[dbo].[PT_ERROR_LOG] ALTER COLUMN MESS nvarchar(1000)
- bootstrap建立响应式网站——tab选项卡
1.bootstrap给我们提供了标签页 细细看了一下bootstrap的标签页源码,对tab选项卡有了更深的理解.其实说来也简单,以前自己写js和css时没有意识到整体的划分.就是分为两部分:一部分 ...