0

关于 SQLite 和 FMDB 的问题,我准备将 NSArray *insertParams 保存到 SQLite 中,insertParams 的格式如下:

( { 动作 = "\U8d5e\U540c\U4e86\U8be5\U56de\U7b54"; 内容 = "\U8c22zolo\U9080\Uff0c\U65b0\U5e74\U5feb\U4e50~\U81ea\U5df1\U548c\U5bb6\U4eba\U8eab\ U4f53\U5b89\U5eb7\U3002"; "post_id" = 114834; "post_type" = "a"; 分数 = 1; 标题 = "\U5927\U5bb6\U6765\U4e3a2013\U5e74\U7684\U65b0\U5e74\U8bb8\U613f \U5427\Uff1f\U4f60\U7684\U613f\U671b\U662f\U4ec0\U4e48\Uff1f"; user = { "avatar_url" = "/statics/images/thumb_d04a6fc94214e61a0f35f70b50387b18.jpg"; id = 昵称 = 7151; abc; }; }, { 动作 .................................... ……

数据完全保存,但是,当我从 SQLite 检索数据时,因为没有这样的 arrayForColumn 函数,所以我必须使用 stringForColumn 函数来获取数据,如下所示:

NSString *content = [结果 stringForColumn:@"content"];

[结果数组添加对象:内容];

但是 resultArray 的格式已更改为以下:

("{\n 动作 = \"\U8d5e\U540c\U4e86\U8be5\U56de\U7b54\";\n 内容 = \"\U8c22zolo\U9080\Uff0c\U65b0\U5e74\U5feb\U4e50~\U81ea\U5df1\ U548c\U5bb6\U4eba\U8eab\U4f53\U5b89\U5eb7\U3002\";\n \"post_id\" = 114834;\n \"post_type\" = \"a\";\n score = 1;\n
标题 = \"\U5927\U5bb6\U6765\U4e3a2013\U5e74\U7684\U65b0\U5e74\U8bb8\U613f\U5427\Uff1f\U4f60\U7684\U613f\U671b\U662f\U4ec0\U4e48\Uff1f\n用户\"; = {\n \"avatar_url\" = \"/statics/images/thumb_d04a6fc94214e61a0f35f70b50387b18.jpg\";\n
id = 7151;\n 名字 = abc;\n 昵称 = abc;\n };\n}", "{\n 操作 ................................... ...

谁能告诉我如何将结果格式化为原始 NSArray *insertParams 的格式?

非常感谢!

4

1 回答 1

3

你有点过度思考这个问题了。FMDB(以及相应的 SQL)在处理 NSData 实例方面非常出色,因此您可以简单地使用NSKeyed(Un)ArchiverNSData 对象与数组相互转换。-dataForColumn检索它是在执行查询后调用的问题。

于 2013-01-04T08:51:08.470 回答