0

plistに保存したいこのデータがあります。MONTHとDAYは、システムの日付の整数です。私はそれらを取得する方法を知っています。

 MONTH
  DAY
   int, string, int

例:

 5
  25
   10, text, 50

この方法でデータをインポートする必要があるUITableViewがあります。

システム月が3の場合、plistでキー3を検索し、月3の日のみをテーブルに入力します。

このための最良のアプローチは何ですか?

編集

年は重要ではありません。表では、月のリストである必要があり、押すと、特定の月に関連付けられているすべての日がリストされます。そして、毎日、特定の日に関連付けられたすべてのデータが必要です。

plistのデータを構造化する方法について混乱しています。

4

2 に答える 2

0

NSDateは、plistファイルにアーカイブ(またはコード化)するために開発者の介入が必要なObjectiveCオブジェクトの1つです。

そして、あなたの質問はまだ非常に広いので、私はあなたの特定のケースで最良のアプローチが何であるかを100%確信していません。1つのセルに「2012」を表示し、次にこの下のインデントされたセルに「5」を表示しますか?その場合、plistからNSDateプロパティを持つカスタムオブジェクトに日付をロードすることをお勧めします。または、複数のテーブルビューセルがリストされている単一のオブジェクトに関連付けられた個別の「年」と「月」の値が必要になる場合があります。または、これらすべてを日付ごとに1つのカスタムテーブルビューセルにリストしたい場合もあります。

オブジェクトを保存およびロードする方法を説明するStackOverflowの他の質問(このようなもの)を見てから、これをで使用する方法を検討してください。NSDateUITableViewController

于 2012-05-26T13:02:09.123 に答える
0

このスレッドには、NSDictionaryをplistとして保存するためのいくつかの良い情報があるようです。

NSDictionaryをplistに保存

結果をテーブルビューに表示することに関しては、NSDictionaryをどのように編成しているかについて少し混乱しています。一般に、次のようなことを行う必要があります。

NSArray *arrayDataForMonthZero = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"Zero"];
NSArray *arrayDataForMonthOne = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"One"];
...
NSArray *arrayDataForMonthEleven = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"Eleven"];

NSDictionary *tableData = [[NSDictionary alloc] initWithObjectsAndKeys:arrayDataForMonthZero,@"0",arrayDataForMonthOne,@"1",...,arrayDataForMonthEleven,@"11"];

次に、使用するデータセットへのNSArrayポインターを作成します。したがって、3番目のセクションを表示する場合は、次のようにします。

NSArray *tableDataPtr = [tableData objectAtIndex:@"3"];

これにより、3か月目に関連付けられた作成済みのすべてのデータが選択されます。テーブルビューデリゲートとデータソースにコマンドを提供するときに、このオブジェクトを使用します。

于 2012-05-26T13:07:53.227 に答える