解析された XML 情報を保持する tableContents という可変配列があります。配列内のアイテムを日付順に並べ替えようとしています。配列内のすべてのオブジェクトに格納されている XML からの日付文字列があります。NSDateFormatter の形式をテストしたところ、sortUsingComparator: ブロック内を除いて日付文字列が正しく解析されました。これが私のコードです:
[tableContents sortUsingComparator: ^(NSMutableDictionary *d1, NSMutableDictionary *d2) {
NSDateFormatter *df = [[NSDateFormatter alloc]init];
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss '+0000'"];
NSString *date1String = [d1 valueForKey:@"date"];
NSLog(@"d1 Date is: %@", date1String);
NSDate *date1 = [df dateFromString:date1String];
NSDate *date2 = [df dateFromString:[d2 valueForKey:@"date"]];
NSLog(@"date1: %@",date1);
NSLog(@"date2: %@",date2);
return [date1 compare:date2];
}];
date1String は次の形式の文字列をログに記録します: Tue, 17 Sep 2013 17:30:52 +0000 しかし、date1 と date2 は両方とも null です。