我是iphone开发的新手。我正在尝试对NSMutable数组进行排序,并参考保存为键“pubDate”的对象的日期。解析url后,我将日期格式保存在数组中“myPubDate”。
(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
//NSLog(@"found characters: %@", string);
// save the characters for the current item...
if ([currentElement isEqualToString:@"title"]) {
[currentTitle appendString:string];
} else if ([currentElement isEqualToString:@"link"]) {
[currentLink appendString:string];
} else if ([currentElement isEqualToString:@"description"]) {
[currentSummary appendString:string];
} else if ([currentElement isEqualToString:@"pubDate"]) {
[currentDate appendString:string];
NSDateFormatter *df =[[NSDateFormatter alloc] init];
[df setFormatterBehavior:NSDateFormatterBehavior10_4];
[df setDateFormat:@"EEE, dd MMM yyyy"];
myPubDate = [df dateFromString:currentDate];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
//NSLog(@"ended element: %@", elementName);
if ([elementName isEqualToString:@"item"]) {
[item setObject:currentTitle forKey:@"title"];
[item setObject:currentLink forKey:@"link"];
[item setObject:currentSummary forKey:@"description"];
[item setObject:myPubDateforKey:@"pubDate"]
[item setObject:currentImage forKey:@"imagePath"];
NSLog(@"Befor if condition");
[stories addObject:[item copy]];
}
recent = [stories copy];}
For sorting
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"pubDate" ascending:NO];
[recent sortUsingDescriptor:[NSArray arrayWithObjects:descriptor, nil]];
recent1 = [recent sortedArrayUsingDescriptors:descriptor];
[descriptor release];
我在控制台中将错误称为
[NSCFArray sortUsingDescriptor:]:无法识别的选择器发送到实例0x4ed10c0
我哪里出错了?请帮帮我。谢谢。
答案 0 :(得分:1)
您的问题似乎是一个错字:sortUsingDescriptor:
与sortUsingDescriptors: