混乱させて申し訳ありませんが、私の問題を説明するために最善を尽くします。
Document という名前のエンティティと、Customer という名前の別のエンティティがあります。ドキュメントには、CustomerID という名前の属性があり、Customer 属性 CustomerID から割り当てられ、updatedDate 属性があります。
最新の 10 個のドキュメントを取得したいのですが、CustomerID ごとに最新のものだけを取得します。
混乱させて申し訳ありませんが、私の問題を説明するために最善を尽くします。
Document という名前のエンティティと、Customer という名前の別のエンティティがあります。ドキュメントには、CustomerID という名前の属性があり、Customer 属性 CustomerID から割り当てられ、updatedDate 属性があります。
最新の 10 個のドキュメントを取得したいのですが、CustomerID ごとに最新のものだけを取得します。
私があなたを正しく理解しているなら、あなたは特定の顧客から最新の10のドキュメントを入手したいですか?簡単だ。
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:managedObjectContext];//Specify the entity Name
request.predicate = [NSPredicate predicateWithFormat:@"customerID = %@",customerID];//Specify the ID you need
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"updatedDate" ascending:YES]];//Sorted by most recent ones
request.fetchLimit = 10;//You'll get ten latest Documents
NSError *error = nil;
latestDocuments = [managedObjectContext executeFetchRequest:request error:&error];
私たちが知ったように、タスクは最新の10個のドキュメントを取得することですが、顧客ごとに1つだけであるため、これをなんとか効率的に行う方法は実際にはわかりません(つまり、INクエリがないと、既に取得したcustomerIDが含まれます) 、しかし、顧客に新しい1対1の高揚感を追加するためのjuat- latestDocumentとその逆で、 isLatestToCustomerがnilではないドキュメントにリクエストを送信するだけです。