【发布时间】:2012-12-17 13:10:22
【问题描述】:
我正在使用 NSXMLParser 从 URL 解析 XML 文件,我解析的项目被添加到 UITableView 从中加载其数据的数组中。除其他事项外,我正在解析这些事件发生的事件和日期的标题。这些项目被解析并添加到名为stories 的数组中。我的目标是让事件的标题成为我的 TableView 中每个单元格的主要文本,而日期是副标题。每个事件的标题不需要格式化(即,如果 XML 文件显示:“事件一”,那么这就是应该显示的内容)我使用此方法成功:
(title 是 XML 中项目的标题,stories 是 TableView 从中加载数据的数组。)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:MyIdentifier];
}
// Set up the cell
NSUInteger storyIndex = [indexPath indexAtPosition: [indexPath length] - 1];
cell.textLabel.text = [[stories objectAtIndex: storyIndex] objectForKey: @"title"];
return cell;
}
但是我确实需要格式化我解析的所有日期,我使用NSDateFormatter 这样做,我对NSDateFormatter 完成工作后的日期格式感到满意。如果我不需要格式化我可以使用的日期:
cell.detailTextLabel.text = [[stories objectAtIndex: storyIndex] objectForKey: @"isodate"];
实现我的目标。一旦NSDateFormatter 完成它的工作,我就有一个名为currentDate 的变量(NSMutableString),其中包含我格式化日期的字符串值,使用控制台我可以看到这会为 XML 中的每个项目产生所需的结果.当我使用:
cell.textLabel.text = currentDate;
最后我的表格中的每个单元格都有 XML 文件中最后一项的日期(假设它看起来不错,格式正确)。我试过移动我的方法无济于事。如果您不介意为我指明正确的方向,我需要知道如何将变量 currentDate 的值包含在 UITableView 的字幕文本中,其中项目的标题和日期单元格中的项目相互对应。
【问题讨论】:
标签: objective-c ios uitableview nsxmlparser