IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中
2016-12-12 12:50
671 查看
http://blog.csdn.net/github_29614995/article/details/46797917
在开发的当中,往往碰到要将数据持久化的时候用到FMDB,但是碰到模型中的属性有数组,但是FMDB存放的属性通常只为Text,那我们改怎么办呢?
思路:1.创建一个表,先将模型的除数组以为的其他属性写入表中,名为t_groupBuyModel
2.创建一个表装载模型中的数组文本,名为t_images
3.当存入模型到表中的时候,遍历模型中的数组属性,让每一条数据都存入t_images表中去
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
———- 华丽的分割线
在开发的当中,往往碰到要将数据持久化的时候用到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数组属性存到表中
- 小技巧:SP下,如何使用ListBox+SPIN组成一个没有空隙的ComboBox
- 关于如何使用VS高亮显示无扩展名源码文件的一个小技巧
- 如何写一个使用Web Service的IOS应用
- 如何使用MSDN搜索STL相关知识的一个小技巧
- IOS中数组的使用(NSArray, NSSet, NSDictionary)
- [VB.NET]如何定义使用一个跟窗体生存期相同的数组
- Visual C#2005——如何使用ToArray方法返回一个强类型数组
- 如何使用 AllowPartiallyTrustedCallers 属性来调用具有一个强名称从 Web 页通过使用 Visual C#.NET、 Visual C# 2005年或更高版本的程序集
- 4.3 iOS开发视频教程—NSArray数组的使用
- 在PB中如何使用一个字符串给一个字符串数组赋值
- Visual C#2005——如何使用ToArray方法返回一个强类型数组
- 如何使用反射确定一个属性是否实现了IList接口,如何确定元素量为空的集合的元素类型。
- 判断一个类是否支持某属性和方法以及如何判断IOS的版本
- 如何在一个已排序的NSArray中搜索某一特定字符串?答案是使用CFArray自带的搜索功能:
- 如何在一个已排序的NSArray中搜索某一特定字符串?答案是使用CFArray自带的搜索功能
- 如何使用 MFC 自动化 Excel 2000 和 Excel 2002 和 Excel 2000 和 Excel 2002 的一个区域中获取一个数组
- 在使用反射中,Object代表一个数组对象,如何转化为数组
- 关于如何使用VS高亮显示无扩展名源码文件的一个小技巧
- IOS中数组的使用(NSArray, NSSet, NSDictionary)