NSStringをNSDateから変換した配列を持っています。配列の最初のインデックスを取得して並べ替えています。 日付は08AM、01PMの形式です。私がNSSortDescriptorをやろうとすると、いつも私には01PMと08AM以上が与えられます。iphoneのNSDateのNSStringをソート
//** Date string **//
NSDate *date1 = [dateFormat dateFromString:startSection];
[dateFormat setDateFormat:@"ah"];
startSection = [dateFormat stringFromDate:date1];
NSString *strSection = [NSString stringWithFormat:@"%@", startSection];
上記の文字列がNSArrayに追加されました。以下でNSArrayを使用して文字列をソートします。最後に、同じ配列を使用して最初の文字を取得し、sectionforsectionIndexTitleにインデックスを表示します。だから、私はAM8とPM1を8AMと1PMではなくセクションとして持っています。
NSSortDescriptor *nameDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"start"
ascending:FALSE
selector:@selector(localizedCaseInsensitiveCompare:)] autorelease] ;
NSArray *descriptors = [NSArray arrayWithObject:nameDescriptor];
[[dict objectForKey:aKey] sortUsingDescriptors:descriptors];
なぜあなただけの日付を並べ替えることはできませんか? –
@Georg:正しいsectionForSectionIndexTitleを持つように日付をソートしようとしています。データが正しいセクションの下にあるようにします。 – lifemoveson