2012-02-05 1 views
0

私は、グラフビューに燃料を供給するためにアプローチの大きな問題にぶつかってきました。NSArrayのサブセットと動的なparentArrayからのソート

私はcoredata経由で配列を取得します。

親親< --- >>エンティティエンティティの関係が存在します。

親の結果をNSDateでソートされた配列に結合する必要があります。親は、それを追加するtimeStamp(NSDate)に基づいて複数のエントリを持つことができます。

私は次のようにfetchRequestを使用します。

私は配列の異なるセットに複数の親の親のエントリを取り出すことができるという述語を使用して
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"timeStamp" ascending:NO]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY forParent.entries == %@",selectedTrack] 

しかし、私は組み合わせた結果のthatsを持っていると思いますが、ここで注意することは例えば、タイムスタンプ

NSArray Result_ParentA = [entries sortedBy timeStamp]; {A0 ,A1, A2, A3,  A5} (5) 
NSArray Result_ParentB = [entries sortedBy TimeStamp]; {B0, B1, B2, B3, B4}  (5) 
NSArray Result_ParentC = [entries sortedBy TimeStamp]; {C0, C1, C2, C3, C4 C5 } (6) 

2点に基づいてソート、 の1-アレイResult_ParentAは日付「第四にはentryObjectを持っていません同様に、B配列は "5th"にエントリを持たず、それらの数字を追加のNSDateとみなします。私のような配列として私に結果を与える配列持ちたい

CombinedSortedArray objectAtIndex:0] = Array{A0, B0, C0} CountRemains 3 
CombinedSortedArray objectAtIndex:1] = Array{A1, B1, C1} Count remains 3 
CombinedSortedArray objectAtIndex:4] = Array{0.0, B4, C4} 
CombinedSortedArray objectAtIndex:5] = Array{A5, 0.0, C5} 
//Count of all the subset Arrays remains 3 which is equal to the count of Parents! Only the difference being that a nil result is replaced by 0.0! 

2-すべてこれは親が動的数であることを知ることにより、より複雑ですが、私はどのように知ることができません多くの親がグラフで表示されます。

多分、私はソートされた配列を与えるためにフェッチ要求を変更しなければなりません。

私は今、何か助けに感謝します。

答えて

0

NSSortDescriptorでソート済みの配列を取得しています(フェッチ要求のソート記述子に設定する必要がありますが)。 「上昇」パラメータにNOを指定すると、最小から最大のものではなく、最小から最小の順に戻ってくるということだけです。 NSSortDescriptorとNSPredicateの両方がオプションのパラメータです。すべてのCoreDataオブジェクトを元に戻したい場合は、NSPredicateを削除してください。

+0

述語は、特定のタイプの親からのエントリーのセットを取得します。そのエントリーは、その質問には関係ありません。私はそれをそこに残すべきではありません。私は "CombinedSortedArray"のような何かに配列を解析する必要があり、そのヒント? – user134611

関連する問題