コアデータを使用して結果をフェッチするためにIN演算子で述語を使用する場合:
NSPredicate *inPredicate = [NSPredicate predicateWithFormat: @"attribute IN %@", aCollection];
その属性には一意の値がありますが、結果が返される順序がコレクション内の値の順序に対応していると想定するのは正しいですか、それとも後で並べ替える必要がありますか?
コアデータを使用して結果をフェッチするためにIN演算子で述語を使用する場合:
NSPredicate *inPredicate = [NSPredicate predicateWithFormat: @"attribute IN %@", aCollection];
その属性には一意の値がありますが、結果が返される順序がコレクション内の値の順序に対応していると想定するのは正しいですか、それとも後で並べ替える必要がありますか?
でソートする必要がありますNSSortDescriptor
。
IN コレクションの順序で並べ替えたい場合は、Core Data (SQLite backed) custom sorting of stringsで説明されているパターンに従いますが、ブール値の代わりに整数プロパティを追加し、整数値をインデックスに対応させます。コレクション。次にNSSortDescriptor
、このカスタム プロパティで並べ替える を作成します。
より複雑な並べ替えが必要な場合は、CoreData を脇に置き、 を使用して fetchedObjects 配列を並べ替えることができます[NSArray sortedArrayUsingComparator:]
。