我已经安装了 iOS 7 的 GM 版本,成功升级了将我的应用程序更新到 iOS 7 所需的一切,但是我无法解决与 NSDate 相关的一件事。它在 iOS 6 上运行良好,但在 iOS 7 中无法正常工作。
在一个名为 TheItem.m 的文件中,我正在执行以下操作:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"TIMEEEEEEEEEEEEEEE %@", currentString);
[self setPubTime:currentString];
}
然后在:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ItemsCell";
//ItemsViewCell Is class of UITableViewCell having the IBOutlet pubTimeLabel
ItemsViewCell *cell = (ItemsViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
TheItem *item = [[channel items] objectAtIndex:[indexPath row]];
cell.pubTimeLabel.text = [item pubTime];
// NSLog(@"PUB PUB %@", item.pubTime);
return cell;
}
NSLogs 显示日期字符串,但它没有显示在 tableviewcell 中。它在 iOS 6 上运行良好,但自从我将它更新到 iOS 7 后,应该在 tableviewcell 中显示日期字符串的标签什么也没显示。尝试在 iOS 开发论坛中提出相同的问题,根据我收到的答案,这不是 iOS 7 更新问题。
谁能指出什么是错的?提前致谢。
更新:我已经在我的设备上安装了 iOS 7 GM,然后从 App Store 我安装了我的一个应用程序,该应用程序是使用同一个项目提交的,并且没有显示日期标签。
更新:这是我为排除故障所做的几件事:使用 NSLogs 来查看是否在任何时候它不是 nil,更改 tableviewcell 高度,创建新标签,创建新插座,删除背景和单元格图像,更改了标签的字体和颜色,在模拟器和设备中尝试了该项目,但仍然没有运气。
更新:好的,根据我收到的评论,看起来我有一些背景或颜色问题或类似的问题。我做了更多的故障排除,它与颜色或背景或任何此类事情无关。在下面的代码中,我做了一些替换:
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
// [self setPubTime:currentString]; THIS LINE IS REPLACED WITH THE FOLLOWING
NSDateFormatter *df1 = [[NSDateFormatter alloc] init];
[df1 setDateFormat:@"EEE, d MMM yyyy hh:mm:ss ZZZZ"];
NSDate *newDate = [df1 dateFromString:currentString];
NSDateFormatter *df2 = [[NSDateFormatter alloc] init];
[df2 setDateFormat:@"EEE,d MMM yyyy"];
NSString *dateString = [df2 stringFromDate:newDate];
NSLog(@"DATE STRING %@", dateString);
[self setPubTime:dateString];
}
现在相同的标签显示日期,证明标签没有颜色或背景问题。我不使用此更新代码的唯一问题是它在几个单元格中显示日期,而在少数几个单元格中没有显示任何内容并重新调整为空。