情况就是这样..
我在NSArray
表的一个字段中插入了一个完整的SQLite
,现在我检索数据并将其变为字符串。如何将其再次转换为NSArray
?
这是NSArray
中插入SQLite
的内容:
"<tbl_news:annyfksM8D:(null)> {\n \"news_content\" = \"Lorem ipsum dolor sit\";\n \"news_date\" = \"Sep 23, 2013\";\n \"news_featuredimage\" = \"uploads/1373124691956-160x120.jpg\";\n \"news_title\" = \"Lorem Ipsum2\";\n}",
"<tbl_news:fEgOpdgflF:(null)> {\n \"news_content\" = \"Lorem ipsum dolor sit.\";\n \"news_date\" = \"Sep 23, 2013\";\n \"news_featuredimage\" = \"uploads/2560x1440.jpg\";\n \"news_title\" = \"Lorem Ipsum3\";\n}"
这是一个来自解析的数组。任何人都可以知道我将如何将其转换为NSArray
。我已经尝试了Convert NSString to NSArray,但我认为解决方案不会解决我的问题。
答案 0 :(得分:-1)
不要将NSArray作为字符串存储到数据库中。将其转换为NSData,将其存储为blob,将其作为NSData检索回来,然后将其转换回NSArray:
// Convert NSArray to NSData
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
...
// Store it as a blob in sqlite
sqlite3_bind_blob(insert_statement, 1, [data bytes], [data length], NULL);
...
// Get the bytes back fromthe database and convert it into an NSArray
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data]