0

XMLURLからファイルを解析しています。XMLこれから、イベントのタイトル、日付、イベントの場所などを解析します。これらの要素はstories、テーブルビューのデータソースとして機能するという配列にキャッシュされます。私の目標は、表示とインデックス作成ですUITableView私のイベントが月ごとに行われる日付に基づいたセクションを使用します(セクション内の1月のイベント、別のセクション内の2月のイベント、セクションのタイトルとして月の名前を使用)。最も早く発生するイベントは私のビューの一番上にあり、さらに外側のイベントは私のリストの一番下にあるはずです。すでに発生したイベントについて心配する必要はありません。これまでのところ、イベント名とその日付を、解析された順序のまま、並べ替えもインデックス付けもされていないUITableViewのサブタイトルとして表示することができました。アレイをログに記録するstoriesと、コンソールに次のように表示されます。

2013-01-04 00:17:22.332 NumberTwo[72213:c07] the stories array is as follows: (
    {
    additionalDesc = "";
    allday = "Yes.";
    endtime = "11:55 PM";
    isodate = "2013-05-23";
    location = "";
    starttime = "12:00 AM";
    title = "CST Exam Makeups";
},
    {
    additionalDesc = "";
    allday = "No.";
    endtime = "12:00 PM";
    isodate = "2013-06-01";
    location = "";
    starttime = "8:00 AM";
    title = "SAT & Subject Tests";
},)

配列には2つの要素の例がありstoriesます。イベントが発生した月に基づいて配列を小さな要素に分割することは理解していますが、そのメソッドがどのようになるかはわかりません。これが私の試みviewDidLoadです。

- (void)viewDidLoad {
[super viewDidLoad];

self.sections = [NSMutableDictionary dictionary];
for (UIEvent *event in stories)
{

    NSDate *dateRepresentingThisDay = tempDate;

    // If we don't yet have an array to hold the events for this day, create one
    NSMutableArray *eventsOnThisDay = [self.sections objectForKey:dateRepresentingThisDay];
    if (eventsOnThisDay == nil) {
        eventsOnThisDay = [NSMutableArray array];

    }

    // Add the event to the list for this day
    [eventsOnThisDay addObject:event];
}

// Create a sorted list of days
NSArray *unsortedDays = [self.sections allKeys];
self.sortedDays = [unsortedDays sortedArrayUsingSelector:@selector(compare:)];

}

私はその行for (UIEvent *event in stories)が間違っているに違いないことを知っていますが、何がそれを置き換えるべきかを確信しています。は、別のメソッドでtempDateから受け取るフォーマットされた日付であり、配列内の要素を参照することを目的としています。できれば、私の目標を達成するために正しい方向に私を向けてください。ありがとうございました。NSDateFormattereventstories

4

2 に答える 2

0

このためには、次の手順を使用する必要があります。1.テーブルビューのセクションメソッドの数に、配列カウントを書き込みます。2.また、スタックオーバーフローで利用可能な日付を比較して配列を変更し、要件に応じて配列に配置する必要があります。3. title.text =[インデックスにある配列オブジェクト[セクションのインデックスパス]]を指定してタイトルを設定します。4。これで、必要に応じて行を指定できます。

これはあなたが従う必要のあるステップにすぎません。あなたは私が言うことを理解しましたか?

于 2013-01-04T09:28:55.157 に答える
0

上記のデータのクラスを作成し、NSDate プロパティでイベントの開始日時を表すことは可能ですか? その場合は、NSPredicate を使用して、開始日のプロパティに基づいて配列を並べ替えることができます。NSPredicate の詳細については、このリンクを参照してください。

于 2013-01-04T09:26:04.093 に答える