2012-02-08 17 views
1

iphoneのCore Dataのエンティティにあるアイテムのリストを持っていますが、すべてitem_id整数属性を持っています。私はフェッチ要求でテーブル内にある最も高い番号のitem_idと最も低い番号のitem_idを返す必要があります。私は0で始まって上がることがないので、それらの数字が何であるかについて何の知識も持っていません。コアデータ1つのfetchRequestの最初と最後のレコードを選択します

これを達成するにはどうすればよいでしょうか?もう一度、私は2つの別々のフェッチ要求でそれを行うことができることを知っています、ただ1つでそれを行う方法はありますか?

答えて

3

これは、1つのフェッチで行うのは難しいことです。私はMAXとMINの関数/式を使って2回のフェッチを行います。例えば

NSExpression *minExpression = [NSExpression expressionForFunction:@”min:” 
arguments:[NSArray arrayWithObject:keyPathExpression]]; 

あなたは絶対に、私はのみを経由して、最初と最後を取得し、その後、idでソートfetchAllの操作を行うとして考えることができますフェッチONEでそれをしなければならない場合は、次のアップデート1

[objects objectAtIndex:0] 
[objects lastObject] 

: この男は解決策を持っているように見える: `[fetchRequest setPropertiesToFetch:[NSArrayのarrayWithObjects:earliestExpressionDescription、彼のソリューションへ http://useyourloaf.com/blog/2012/1/19/core-data-queries-using-expressions.html

+0

キーは複数の式です210 latestExpressionDescription、nil]]; ' 非常に役に立ちました、私はあなたがそれを自分で行うことができるか分かりませんでした。 – elprl

+0

素晴らしい作品です! ご協力いただきありがとうございます –

関連する問題