XML
URLからファイルを解析しています。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
から受け取るフォーマットされた日付であり、配列内の要素を参照することを目的としています。できれば、私の目標を達成するために正しい方向に私を向けてください。ありがとうございました。NSDateFormatter
event
stories