关于SQLite和FMDB的问题,我要将NSArray * insertParams保存到SQLite中,insertParams的格式如下:
( { action =“\ U8d5e \ U540c \ U4e86 \ U8be5 \ U56de \ U7b54”; content =“\ U8c22zolo \ U9080 \ Uff0c \ U65b0 \ U5e74 \ U5feb \ U4e50~ \ U81ea \ U5df1 \ U548c \ U5bb6 \ U4eba \ U8eab \ U4f53 \ U5b89 \ U5eb7 \ U3002”; “post_id”= 114834; “post_type”=“a”; 得分= 1; title =“\ 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; name = abc; nickname = abc; }; }, { 行动 ................ ................ ................
但是,当我从SQLite中检索数据时,因为没有这样的arrayForColumn函数,因此我必须使用stringForColumn函数来获取数据,如下所示:
NSString * content = [results stringForColumn:@“content”];
[resultArray addObject:content];
但是resultArray的格式已经改为:
( “{\ n action = \”\ U8d5e \ U540c \ U4e86 \ U8be5 \ U56de \ U7b54 \“; \ n content = \ “\ 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得分= 1; \ n
title = \ “\ U5927 \ U5bb6 \ U6765 \ U4e3a2013 \ U5e74 \ U7684 \ U65b0 \ U5e74 \ U8bb8 \ U613f \ U5427 \ Uff1f \ U4f60 \ U7684 \ U613f \ U671b \ U662f \ U4ec0 \ U4e48 \ Uff1f \”; \ n user = {\ n \“avatar_url \”= \ “/静力学/图像/ thumb_d04a6fc94214e61a0f35f70b50387b18.jpg \”; \ n
id = 7151; \ n name = abc; \ n nickname = abc; \ n}; \ n}“, “{\ n动作 ................ ................ ................
有人能告诉我如何将结果格式化为原始NSArray * insertParams的格式吗?
非常感谢!
答案 0 :(得分:3)
你过度思考这个问题了。 FMDB(以及SQL)非常适合处理NSData实例,因此您只需使用NSKeyed(Un)Archiver
来转换NSData对象和从NSData对象转换到您的数组。检索它是在执行查询后调用-dataForColumn
的问题。