2012-03-26 8 views
3

私はコアデータに「請求書」のリストを持っています。 それぞれの請求書について、私はUITableViewControllerに別のセクションが必要です。 私はこれらの請求書を金額でソートするようにします。fetchedResultsControllerで複数のsectionNameKeyPathを使用できますか?

これを行うには、fetchedResultsControllerを使用します。 各請求書には金額と請求IDがあります。 sortDescriptor 'amount'とsectionNameKeyPath 'billID'を作成しました。 didChangeSectionが必要なときに適切に呼び出されないため、問題が発生します。

私はいくつかの掘削を行なったし、この記事に出くわした:Custom Section Name Crashing NSFetchedResultsController

とAppleのドキュメントは、第1ソート記述子はsectionNameKeyPathと同じにする必要があると言うように見えます。

私はsortDescriptorを 'amount'にしてsectionNameKeyPathを 'billID'に変更しました。これにより動作が修正されました。しかし、2つの請求書が同じ金額を持っている場合、同じセクションに表示されますが、これは嫌です。とにかく、私はsectionNameKeyPathを 'amount'や 'billID'のように2つの変数に依存させることができますか?

ありがとうございます。

+0

この問題の解決策をお探しですか? – wod

+0

残念ながら。 – klyngbaek

答えて

0

sortDescriptorのプロパティNSFetchRequestは実際には配列です。結果をソートするために、プロパティの順序に基づいて複数の値をsortDescriptorに渡すことができます。

ここsortDecriptor

request.sortDescriptors= @[billIdSortDescriptor, amountSortDescriptor]; 

を注文これを試してみてください、requestは、だから、結果は最初の同じbillIDで法案IDおよびオブジェクトによってソートされますNSFetchedResultsController に渡さNSFetchRequestは量でソートされますされています。

関連する問題