0
RLMResultsの最後の/最初のn個の結果を得るには?レルム最後のn個の結果を得る
私はあなたがNSArrayに変換することができるとと- (NSArray *)subarrayWithRange:(NSRange)range;
を行うと思うが、これはRLMResultsがたくさんカウントする場合は悪い方法です。松葉杖のような
self.arrayOfSubscriptedResults = [NSMutableArray new];
RLMResults *results = [[ModelRO objectsWhere:@"smth == 21"] sortedResultsUsingProperty:@"property" ascending:NO];
[self.arrayOfSubscriptedResults addObject: [results lastObject]];
[self.arrayOfSubscriptedResults addObject: [results objectAtIndex:(results.count - 1)]];
[self.arrayOfSubscriptedResults addObject: [results objectAtIndex:(results.count - 2)]];
が、この:
また、あなたのような何かを行うことができます。
おそらく述語を持つことができますか?
EDIT:
最終的な解決策:
RLMResults *results = getRealmResultsHere;
int count = results.count;
int numberOfFirstObjects = 3;
if (count > 0)
{
self.mutableArray = [NSMutableArray arrayWithCapacity: numberOfFirstObjects];
for (NSUInteger index = 0; (self.mutableArray.count < numberOfFirstObjects) && (count > index); index++)
{
[self.mutableArray addObject:results[index]];
}
}
私はほとんど、このようにしました。しかし、あなたの例では、もし 'RLMResults * allDogs'が3つ未満のオブジェクトならば? –
これは状況によって異なります。あなたは主張したいですか?要求されたアイテムの数を「最大で」与えることができます。完全にあなた次第 – jpsim