2011-02-08 19 views
5

私のiPhoneアプリケーションでは、リモートサーバーからjsonデータを取得し、Json Frameworkを使用して解析して提示しますUIviewでまた、オフラインでも表示できるように、デバイスにデータを保存するオプションをユーザーに与えることができます。私はjsonデータを直接格納するのがオブジェクトを作成し、NSCoding + NSKeyedArchiverを使って保存するよりも良いか悪い選択かと思っていました。私は、JSON文字列をそのまま保存する利点は、アーカイブされたオブジェクトよりもディスク上のスペースが少なくて済む一方で、アーカイブされたオブジェクトを格納することによって、毎回格納されたデータを解析する必要がないということですより少ないメモリを使用します。iPhoneにjsonデータを保存する:jsonの文字列をそのまま保存VSをオブジェクトとしてjsonから作成し、NSCoding + NSKeyedArchiverを使用

全体的に最適な選択肢はありますか?そのことに関するベストプラクティスはありますか? jsonファイルのサイズは約8KBです。

答えて

6

私は別のアプローチを使用します。 JSONデータがアプリケーションで解析されると、そのデータはNSDictionaryに保存されます。私はそれを.plistファイルとして保存します。負荷に

[myDictionary writeToFile:[self saveFilePath] atomically:YES]; 

NSMutableDictionary *wholeDictionary = [NSDictionary dictionaryWithContentsOfFile:[self saveFilePath]]; 

それです!

+0

これは簡単で効果的なアプローチだと思われます。ありがとう!アーカイブされたオブジェクトより少ないディスクスペースを使用しますか? – Kremk

+1

@Kremk:おそらく同じかそれ以上のスペースを使います。 plistフォーマットは、人間が読めるXMLフォーマットであるため、特にスペース効率が良いわけではありません。キー付きアーカイブは、いくつかのものをバイナリ形式で保存するかもしれません(私はチェックしていないので "might"と言います)。 – JeremyP

+0

私は@JeremyPに同意しますが、それは8Kbファイルであるため、それ以上の作業をする価値はありません。 – Hiltmon

関連する問題