私はテーブルビューにコアデータを使用しています。私のデータはあなたの現在の場所からの距離によって並べられます。私が望むのは、5、10、20マイルのアイテムの新しいセクションを作ることです。距離グループNSFetchedResultsControllerセクション
私の距離値はNSIntegerとしてデータストアに保存され、私はオブジェクトモデルでNSNumberを使用してそれを取得します。
私は周りを少し調べて、データを分割するためにsectionNameKeyPath
属性を使用する必要があることを発見しました。
私の問題は、私はグループへの最善の方法のデータを知らないということです。私の検索の間、私は一時的な財産かNSNumberのカテゴリを使用して、項目がどのセクションに入るべきかを調べました。
これらの方法のいずれかは、もしあれば、私の最終結果を得る最良の方法ですそれを実装する方法の詳細を提供しますか?
ありがとうございました。
ご回答いただきありがとうございます。私はここで少しばかげている場合は申し訳ありませんが、 "派生した属性"と言うと、私のデータモデルオブジェクトの.hファイルでは、私は次のようなことをします:@property(monatomic、readonly)NSInteger * range;また、5,10、または20のいずれかを返すために独自のゲッターメソッドを作成する必要がありますか? –
このメソッドは動作しますが、UIとモデルを混在させる、すばやく不潔な修正です。原則として、ビューレイヤの実装の詳細をモデルレイヤに混入させたくありません。異なる属性の範囲で定義されたセクションを持つ複数のテーブルビューがあるとどうなりますか?複数の派生アトリビュート(各テーブルビューにつき1つのアトリビュート)を作成しますか?別のアプリでデータモデルを使用する場合はどうなりますか?モデルとビューをできるだけ別々に保つことがベストプラクティスです。 – TechZen
scrooby、はい。 @TechZenは合意した。しかし、FetchedResultsControllerを使用しながらこれを管理するより良い方法はありますか?私はそれについて知りたいです(正確にあなたが言う理由)。 - " - クリーンデザイン"オプションは、今すぐあなた自身のすべてのデリゲートメソッドを実装することです。FetchedResultsControllerをスローし、FetchedResultsのみを使用します。これは、 "クリーンデザイン"を得るためにはるかに多くの作業です。これが望ましい。 TechZenによると、可能性がたくさんある場合は、モデルにプッシュしたくない可能性があります。 – bshirley