【发布时间】:2014-05-09 03:47:09
【问题描述】:
在我的 iOS 原生应用程序中,我解析一个 XML 文件,使用一个名为 RSSEntry 的类解析所有内容。它从 pubDate 获取日期并将其存储为 articleDate,一个 NSDate。解析完所有内容后,运行以下代码:
- (void)requestFinished:(ASIHTTPRequest *)request {
[_queue addOperationWithBlock:^{
NSError *error;
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:[request responseData]
options:0 error:&error];
if (doc == nil) {
NSLog(@"Failed to parse %@", request.url);
} else {
NSMutableArray *entries = [NSMutableArray array];
[self parseFeed:doc.rootElement entries:entries];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
for (RSSEntry *entry in entries) {
int insertIdx = [_allEntries indexForInsertingObject:entry sortedUsingBlock:^(id a, id b) {
RSSEntry *entry1 = (RSSEntry *) a;
RSSEntry *entry2 = (RSSEntry *) b;
return [entry1.articleDate compare:entry2.articleDate];
}];
[_allEntries insertObject:entry atIndex:insertIdx];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:insertIdx inSection:0]]
withRowAnimation:UITableViewRowAnimationRight];
}
}];
}
}];
[self.refreshControl endRefreshing];
}
这会将每个条目添加到 UITableView,按日期排序。但是,有些日期将在未来。我只想添加当天或更早的 pubDate 条目,消除未来的条目,直到它们的日期临近。建议?
【问题讨论】:
标签: ios uitableview nsmutablearray nsdate