私はNSFetchRequest
を持っています。コアデータからオブジェクトを取得していて、それを小さなものNSSortDescriptor
でソートしています。しかし、私はiOS4を実行iPad上でまったく同じコードをテストする場合、NSSortDescriptor - 注文が変更されましたか?
NSMutableArray *sortDescriptors = [NSMutableArray array];
NSSortDescriptor *sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"ownerName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
NSSortDescriptor *sortDescriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"petName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
[sortDescriptors addObject:sortDescriptor1];
[sortDescriptors addObject:sortDescriptor2];
[fetchRequest setSortDescriptors:sortDescriptors];
iOS5を上すべてが期待どおりに動作し、5.1:私は、ユーザーが選択したものに応じて異なるもののカップルを使用していますが、彼らはこのようなものです。 2.1(または4.3シミュレータ)では、すべての最初のソート記述子の順序が逆になります。この例では、所有者の名前はZからAの順になっていますが、ペットはAからZの順序で正しく並べられます。
以前のiOSバージョンで、ascending
ブール値が間違っているバグがありましたか?あるいは、私が間違っているかもしれない何か他のものがありますか?
EDIT:最初のキー(ownerName)がNSFetchedResultsController
セクションとして使用されます。これが適切かどうかはわかりません。
ありがとうCraig
'ascending'パラメータに' NO'を渡すと、正しい順序が得られますか? – Mundi
はい。最初のSDの「昇順」文字をNOに変更してから、iOS5の結果を反映しています。 2番目のSDはまだYESに設定されていて、セクション内の項目は同じ方法で並べられました。奇妙な! –