2011-11-15 14 views
0

私は約14 NSDictionariesをplistに保存する必要があります。各ディクショナリには5つのアイテムがあります。場所
2-の1-名前開始時間
、3-終了時刻
、4-合計
5その他の注意事項
私が読んでいると、人々は大量のデータのためのplistを使用しないことをアドバイスしています。上記の説明で、plistを使用することは賢明ですか?
乾杯、 Smaplistを使用しても問題ありませんか? iOS

答えて

2

この場合、「大」と見なされる辞書の数は不明ですが、千単位で測定されます。大きな問題は、メモリに読み込まれたときにplistのオブジェクトが消費するRAMの量です。あなたが書いているような小さなオブジェクトを含む14の辞書は、まったく取り込まれません。

代わりにCoreDataのようなものを使用する大きな利点は、すべてのアイテムとその内容を読み込むことなく、データの小さなサブセットを取得できることです。これによりRAMが節約され、検索のようなランダムアクセスタスクもより快適になります。 (CoreDataはまた、元に戻すサポートのような素敵なフリーズを提供します)。しかし、それは1000項目までのようにも見えますが、すべてをRAMに読み込んでそれを並べ替えるのが速いのです。

+0

ありがとう。非常に役立ちます。 – sam

5

これは大量のデータではありません。

+0

ありがとうございました。どれくらいのものがあまりにも多かったのかは分かりませんでした。大量またはデータとは何か?ありがとう。 – sam

1

1つの提案でも、アレイ/ディクショナリ自体の中の単一のplistファイル内に複数の辞書を持つことができます。ここで

+0

どのようにしてその構造体を取得し、それを使ってテーブルビューを生成できますか?それはまさに私が探しているものです。 – sam

+0

以下に追加されたansを確認してください。 – Mrunal

0

は一例です:

<array> 
    <dict> 
     <key>Name</key> 
     <string>NAME1</string> 
     <key>Address</key> 
     <string>ADD1</string> 
    </dict> 
    <dict> 
     <key>Name</key> 
     <string>NAME2</string> 
     <key>Address</key> 
     <string>ADD2</string> 
    </dict> 
</array> 

ここで私は、辞書の配列を作成しました。まず配列全体を読み込み、必要な特定のデータの値を取得します(例:Index-1のObject)。それで私には1つの辞書だけが返されます。配列を解放し、その辞書をキーと値のペアで使用できます。

内部辞書構造がすべて異なる場合は、辞書の辞書を作成することで同じ結果が得られます。そのためには、キー名で特定のデータを取得する必要があります。

これはあなたに役立つと思います。ではない?