0
フィールドのintValueに基づいてNSSortDescriptorを使用して配列をソートしたいと思います。唯一の問題は、このフィールドはどんな値が含まれていないのどちらかということですので、いくつかの値が0である。しかし、私のランキングで、0年代には絶対来るべきNSSortDescriptor - 最後に0でintValueをソートする
descriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"lowerPrice.floatValue" ascending:YES];
:これは完全に次のコードを使用して動作します最終。基本的には、最初に0.1を、50とし、次に0とします。しかし、floatValueを昇順に使用すると、明らかに0が最初に取得されます。
これを解決する最もエレガントで簡単な方法は何ですか?
私の代わりに 'NSComparisonResult'およびソートするブロックを使用することをお勧めしたい、しかし、あなたはCoreDataにその種を使用している場合、それは不可能です。 – Larme
'sortDescriptorWithKey:ascending:comparator:'を使用してカスタムコンパレータを書くことができます – vadian