我正在XML
从一个 URL 解析一个文件,从中XML
我解析事件的标题、它们的日期和事件的位置等等。这些元素缓存在一个名为的数组中,该数组stories
充当我的表格视图的数据源。我的目标是显示和索引UITableView
部分基于我的事件按月发生的日期(一月的事件在一个部分中,二月的事件在另一个部分中,月份名称作为我的部分的标题)。最快发生的事件会在我的视野中,更远的事件应该在我的列表的底部,我不必担心已经发生的事件。到目前为止,我已经能够在我的 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";
},)
数组中有两个元素的示例,我知道我将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