0

情况是这样的。。

我在表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. 我已经尝试过将 NSString 转换为 NSArray,但我认为这样做并不能解决我的问题。

4

1 回答 1

-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]
于 2013-10-22T16:01:53.100 回答