フェッチされたプロパティを使用してソートされた配列を作成する方法?私は述語のプログラミングに新しいです。CoreDataのiosソートされたフェッチされたプロパティ
「MyEntity」と「Image」の2つのエンティティがあるとします。 「MyEntity」は「イメージ」と「イメージ」との関係が多すぎます。 'イメージ'には、 'イメージ'と 'インデックス'という2つの属性があります。イメージを並べ替えるための並べ替えキーとして 'インデックス'を使用します。
'MyEntity'にフェッチされたプロパティ 'sortedImages'を持ち、ソート済みの 'images'を返します。
私がしなければならなかったのは、すべての画像を読み込んでメモリにソートして結果を保存することでしたが、これはあまりにも多くのメモリを消費することがあります。
- (NSArray *)sortedImages {
if (!sortedImages) {
NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"index" ascending:YES];
sortedImages = [self.images sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]];
[sortedImages retain];
}
return sortedImages;
}
イメージプロパティは実際のイメージデータですか?その場合は、実際のデータではなくファイルパスを保存することをお勧めします。あなたがそうするなら、あなたはメモリの問題に遭遇するべきではなく、あなたが保存したファイルパスを使ってイメージをロードすることを見せることができます。 – sosborn
@sosbornはい。画像はインターネットから読み込まれ、それらは小さくても多くあります。私はあなたのソリューションを検討しますが、私は変更される必要があるかもしれない多くの他のソートされたエンティティがあるので、フェッチされたプロパティの使い方を知りたいです。 –